我正在学习Objective-C,我并不真正理解实例和对象之间的区别。他们通常使用这两个术语。另外,为什么alloc方法应用于类,init方法应用于对象?
答案 0 :(得分:7)
实例与对象相同,因此为什么使用这两个术语并且可以互换使用 - NSString
或NSString
对象的实例。
+alloc
是一个类方法,负责分配存储新实例/对象所需的内存,并将该内存清零。它返回一个新创建的实例/对象。
-init
负责进一步初始化这个新实例;例如, 1 ,为实例变量分配默认值。由于-init
在现有实例上运行,因此它是一个实例方法。
1 在某些情况下,-init
可能会返回与+alloc
创建的实例不同的实例。