1、头文件引用使用#import "文件名"或#import <文件名>的形式确保每个头文件仅被引用一次;
2、类声明以@interface 类名:继承类 开头,以@end 结尾,类实现以@implementation 类名开头,以@end 结尾;
3、成员方法在方法前面添加一个减号(-),类方法在方法前面添加一个加号(+);
4、类方法的调用格式为[类名 类方法],成员方法调用格式为[实例名 实例方法];
5、成员变量的声明格式为:@property (attributes) type propertyName ;
@property的修饰属性attributes:
可读性readwrite/readonly,不写的话默认readwrite,即会自动生成setter和getter方法;
原子性:nonatomic/默认,系统默认setter和getter为原子操作,如果想设置为非原子操作,可以设置为nonatomic;
内存 assign / retain / weak / strong,在非ARC环境下, assign为默认,引用计数不变;retain引用计数加1;在引用计数环境下,默认为strong,与retain作用相同;从5.0系统后引入了weak,作用与assign相似,不过当所指向对象引用为0时,自动置为nil。
6、成员变量的实现格式为:@synthesize propertyName 或者@synthesize propertyName=_name;
7、nil本质上也是(void *)0,跟NULL一致,
使用惯例:nil
用于表示指向 Objective-C 对象(id 类型的对象,或者使用 @interface 声明的 OC 对象)的指针为空,例如:
NSString *someString = nil;
NSURL *someURL = nil;
id someObject = nil;
if (anotherObject == nil) // do something
8、
打印字符串值时,%i 指代BOOL类型,%p 指代指针地址 ,%ld 指代long类型,%i 指代int类型,%c 指代类型arle,%@指代String类型,