两种创建对象的不同方法:第一种方法是[类名 new],第二种方法是[[类名 alloc] init].这两种方法是等价的。通常我们使用第二种。
alloc 从操作系统获得一块内存并将其指定为存放对象的实例变量的位置,并且顺使将这块内存区域全部初始化为0,所有的BOOL类型变量被初始化为NO,所有的int类型变量被初始化为0,所有的指指被初始化为nil。init 初始化对象实例
自定义初始化方法时,需要写如下代码
if(self = [super init]){
…...
}
这行代码暗示self对象可能发生改变,保子类与父类使用相同的内存地址。这个赋值操作只影响该init方法中self的值,而不影响该方法范围以外的任何内容。