这个协议声明有什么问题?

时间:2011-09-11 07:29:21

标签: objective-c xcode

我这样做是为了学习而且我被告知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 个答案:

答案 0 :(得分:4)

是的,您需要返回指向NSString对象的指针,因为NSString不是基本类型。因此,您需要使用

- (NSString *) getEngineAndChasis;  

另外,删除括号,这些不在Objective-C中使用

答案 1 :(得分:3)

  

类型应该是(NSString *)而不是(NSString)

是的,返回类型应为NSString*。在Objective-C中,除了原始数据类型(如int,float等)之外,每个东西都是引用,而且成员函数没有结尾(),就像在C ++中一样。