A. 命令行编译和XCode编译
1.在存在多个.m源码实现文件的情况下,若根据需要引入.m文件,使用命令行仅仅编译主.m文件即可,但是XCode会同时编译全部.m文件,会发生编译错误(重复定义全局变量或函数)
解决方案:
使用.h和.m文件,分开声明和定义
B.XCode功能
1.自动生成.h和.m
2.保存、引用快捷代码块
3.方法索引注释
#pragma mark 方法的说明
#pragma mark - 方法的说明 加入分组线
4.链接错误查看,使用左上角的感叹号logo
C.点语法
实际是调用getter或者setter
1 int main(int argc, const char * argv[]) { 2 @autoreleasepool { 3 Person *p = [Person new]; 4 p.name = @"李四"; 5 p.age = 21; 6 NSLog(@"姓名:%@, 年龄是%d", p.name, p.age); 7 8 } 9 return 0; 10 }
D.成员变量作用域
作用域关键字
1.@public 任何地方都可以直接访问
2.@protected 能在当前类和子类直接访问
在.h文件中声明的变量默认是@protected状态
3.@private 只能在当前类的方法中直接访问
在.m文件中声明的变量默认是@private状态,同时不能跟.h中声明的变量同名
4.@package 只要在同一个框架中,就能访问
5.无论在.h还是.m都不能重复声明同名成员变量,会发生编译错误