Obj-C对象和实例之间的区别?

时间:2011-06-29 22:16:20

标签: objective-c oop object programming-languages instance

我正在学习Objective-C,我并不真正理解实例和对象之间的区别。他们通常使用这两个术语。另外,为什么alloc方法应用于类,init方法应用于对象?

1 个答案:

答案 0 :(得分:7)

实例与对象相同,因此为什么使用这两个术语并且可以互换使用 - NSStringNSString对象的实例。

+alloc是一个类方法,负责分配存储新实例/对象所需的内存,并将该内存清零。它返回一个新创建的实例/对象。

另一方面,

-init负责进一步初始化这个新实例;例如, 1 ,为实例变量分配默认值。由于-init在现有实例上运行,因此它是一个实例方法。

1 在某些情况下,-init可能会返回与+alloc创建的实例不同的实例。