在Objective-C中一些方法前面有的是加、减号, 这样理解对么?

在 Objective-C 中类中的方法有的是+加号,有的是-减号,两者的区别如下:

前置加号(+)的方法为类方法,这类方法是可以直接用类名来调用的,它的作用主要是创建一个实例。有人把它称为创建实例的工厂方法。(类似PHP中类的静态方法,通过 className::methodName 调用)
前置减号(-)的方法为实例方法,必须使用类的实例才可以调用的。(类似PHP中的普通类,要调用方法的话,必须先实例化一个对象,然后通过 $obj->methodName 调用)

阅读 3.3k
1 个回答

基本是对的,但是类方法不仅仅用于创建实例,它基本等于PHP的静态方法,静态方法该怎么用就怎么样,没人规定静态方法只能创建实例。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进