【问题标题】:Difference between Obj-C object and instance?Obj-C 对象和实例之间的区别?
【发布时间】:2011-09-25 13:19:29
【问题描述】:

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

【问题讨论】:

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


【解决方案1】:

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

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

另一方面,

-init 负责进一步初始化这个新实例;1 例如,为实例变量分配默认值。由于-init对现有实例进行操作,所以它是一个实例方法。

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

【讨论】:

  • 请注意,类也是其元类的实例,元类也是对象。
猜你喜欢
  • 2014-04-08
  • 2010-11-15
  • 2020-04-21
  • 2020-10-10
  • 2011-07-13
  • 1970-01-01
  • 2014-09-09
  • 2011-09-17
相关资源
最近更新 更多