«Методы расширения» в Objective-C - PullRequest
6 голосов
/ 29 января 2010

Как мне написать свой собственный "метод расширения" в target-c?

http://code.google.com/p/json-framework/

Эта библиотека делает это и работает следующим образом.

NSString *myString = ...;
id myResult = [myString JSONValue];

, где myResult возвращает NSDictionary или NSArray.

Как они называются? Как мне написать свой?

1 Ответ

10 голосов
/ 29 января 2010

Это делается с помощью категорий. Вы можете использовать категории для добавления методов в любой класс. Смотри: https://developer.apple.com/library/mac/documentation/cocoa/conceptual/ProgrammingWithObjectiveC/CustomizingExistingClasses/CustomizingExistingClasses.html#//apple_ref/doc/uid/TP40011210-CH6-SW1

Пример:

#import "ClassName.h"

@interface ClassName ( CategoryName )
// method declarations
@end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...