Что не так с этим объявлением протокола? - PullRequest
0 голосов
/ 11 сентября 2011

Я делаю это в процессе обучения, и мне сказали, что тип возвращаемого типа NSString неверен.

Это тип должен быть (NSString*), а не (NSString)

@protocol MyExampleProtocol <NSObject>

@required
@property (nonatomic,retain) NSString *model;
@property (nonatomic,retain) NSString *resgisteration;
-(NSString) getModelAndRegistration();
@optional
@property (nonatomic,retain) NSString *engine;
@property (nonatomic,retain) NSString *chasis;
-(NSString) getEngineAndChasis();
@end

Ответы [ 2 ]

4 голосов
/ 11 сентября 2011

Да, вам нужно вернуть указатель на объект NSString, так как NSString не является примитивным типом.Поэтому вам нужно использовать

- (NSString *) getEngineAndChasis;  

Кроме того, уберите скобки, они не используются в Objective-C

3 голосов
/ 11 сентября 2011

Если тип должен быть (NSString *), а не (NSString)

Да, тип возвращаемого значения должен быть NSString*.В Objective-C каждая вещь является ссылкой, кроме примитивных типов данных, таких как int, float и т. Д. Кроме того, функции-члены не имеют окончания (), как в C ++.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...