Разница между "+" и "-" перед именем функции в Objective-C В чем разница между "+" и "-" перед объявлением интерфейса имени функции в программе Objective-C. Пример: - (void)continueSpeaking; + (NSArray *)availableVoices; Какая разница? Ответ 1 + определяет метод класса Методы класса относятся к классу class, а не экземплярам класса. Пример: [AppDelegate someMethod] - определяет метод экземпляра Пример [[[UIApplication sharedApplication] delegate] someMethod] Один из способов описать разницу заключается в том, что методы - работают с объектами, а методы + работают с самим классом. Скажите, что ваш класс был назван MyClass, и вы создали его экземпляр и сохранили его в переменной с именем myInstance: - (void)continueSpeaking можно вызвать так: [myInstance continueSpeaking]. Однако метод + (NSArray *)availableVoices может быть вызван только так: [MyClass availableVoices]
Ответ 1 + определяет метод класса Методы класса относятся к классу class, а не экземплярам класса. Пример: [AppDelegate someMethod] - определяет метод экземпляра Пример [[[UIApplication sharedApplication] delegate] someMethod] Один из способов описать разницу заключается в том, что методы - работают с объектами, а методы + работают с самим классом. Скажите, что ваш класс был назван MyClass, и вы создали его экземпляр и сохранили его в переменной с именем myInstance: - (void)continueSpeaking можно вызвать так: [myInstance continueSpeaking]. Однако метод + (NSArray *)availableVoices может быть вызван только так: [MyClass availableVoices]