1,typedef enum
{
SexMan,
SexWoman
} Sex;
一般这些元素名称都以枚举名称开头
2.弱语法
假如Score类中没有test方法,但是依然用对象调用[score test],那么编译、链接都不会报错,只是编译时会有警告,但是运行时会报错:
-[Score test]: unrecognized selector sent to instance 0x7ffd38408ce0
意思是给Score对象发送了一个无法识别的消息test。
假如方法只声明不实现,那也是编译链接不报错,运行时报错
因为OC是运行过程中才会检测对象有没有实现相应的方法。OC中的方法是动态检测。
只实现方法,不声明。或者只有类的实现,没有类的声明。都能正常运行
一旦程序出现错误 就会闪退。
3.在.m文件中,不管包含C语言库还是OC语言库,都要用#import
4 // 左右两边要有空格
=左右两边要有空格
返回值类型为BOOL的方法名一般以is开头
5.Xcode 特有注释 #pragma mark xxxxxxxx
#pragma mark - xxxxxxxx
6.编译器特性,将点语法自动转换为getter或者setter语句
7.编译器特性 @property和@synthesize
8.编译器特性 ARC
9.编译器特性:OC数组访问元素及初始化
NSArray *array=@[@"2",@"hj"];
array[1];
10.技巧
协议可用定义在单独.h文件中,也可用定义在某个类中
1> 如果这个协议只用在某个类中,应该把协议定义在该类中
2> 如果这个协议用在很多类中,就应该定义在单独文件中