2010-07-09 14 views
6

Возможные Дубликаты:
Objective-C: Class vs Instance Methods?
What do the plus and minus signs mean in Objective C next to a method?+ (void) или - (void) разница?

Я пытался смотреть вокруг и не мог придумать твердый ответ, что на самом деле объясняется мое замешательство. Я видел несколько раз, и это класс, имеющий метод, который имеет это «метод типа» установлен в положение «+», то есть:

-(Fraction*) fractionWithNumerator: (int) n denominator: (int) d;
теперь, как это то, что отличается от
+(Fraction*) fractionWithNumerator: (int) n denominator: (int) d;

+0

См. [Что означают знаки плюс и минус в Objective C рядом с методом? ] (http://stackoverflow.com/questions/2097294/what-do-the-plus-and-minus-signs-mean-in-objective-c-next-to-a-method) –

+0

Этот ответ ответил me: http://stackoverflow.com/questions/1053592/objective-c-class-vs-instance-methods – jsherk

ответ

9

«+» является метод, вызываемый классом. «-» - это метод, вызываемый экземпляром.

  • + Alloc: потому что вы сказали бы [NSString Alloc]

  • -init: потому что вы могли бы назвать инициализации на экземпляре, а не говоря [NSString INIT]

+0

Все, что описано в замечательной документации Objective-C: http://developer.apple.com/mac/library/ документация/Какао/Концептуальное/ObjectiveC/Введение/introObjectiveC.html – bbum

4

Разница один является методом класса (+), а другой - методом экземпляра (-). Details

Смежные вопросы