不能给协议对象强大或保留属性

时间:2012-09-21 23:56:38

标签: objective-c ios5

我有以下代码行

@property (nonatomic, retain) id<MessageItemProtocol> *message;

在这里,我收到一个错误:“具有'retain'(或strong)属性的属性必须是对象类型”

我知道我收到错误,因为它是一个协议。那么,它应该是什么属性类型呢?

2 个答案:

答案 0 :(得分:4)

尝试

@property (nonatomic, retain) id<MessageItemProtocol> message;

@property (nonatomic, retain) NSObject<MessageItemProtocol> *message;

答案 1 :(得分:2)

id已经是指针,因此您不需要*

@property (nonatomic, retain) id<MessageItemProtocol> message;