【问题标题】:Where to Use Class Method ,Instance Method in Objective-C在Objective-C中在哪里使用类方法,实例方法
【发布时间】:2015-10-26 07:53:51
【问题描述】:

“实例”在 Objective-C 中是什么意思? 请告诉我在哪里使用类方法和在哪里使用实例方法,还告诉我我们在哪里使用(Instacetype)方法? 我们为什么/在哪里使用多参数?

【问题讨论】:

  • 您是如何创建对象的? NSObject *obj = [[NSObject alloc]init];在这个 alloc 中是类方法,init 是实例方法...
  • 我们直接通过类名调用的是类方法,有一些限制请参考这个链接stackoverflow.com/questions/1053592/…类方法-它就像一个静态方法
  • 这对于stackoverflow来说太宽泛了,它是关于回答编程问题的,而不是教计算机科学的。买一本书或参加一个课程。

标签: objective-c class methods class-method instance-methods


【解决方案1】:

类方法是一种方法,其自身参数是对类的类对象的引用。

实例方法是一种方法,其自身参数是对类的特定实例的引用。

这些是技术差异。

一个更实际的答案是实例方法在类的单个实例上运行,而类方法在更全局、非特定级别上运行。类方法可以充当工厂方法,例如NSStringstringWithFormat:方法。它还可用于配置将影响类的所有实例的行为。它还可以用于对类的实例集合进行操作,例如排序或过滤。

instancetype 是一个关键字,可以用作当前类类型的占位符。它对编译器说:假设我在这里写了 ,所以如果你看到这个方法的结果分配在某个地方,你就知道它应该是什么类型。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多