NSMutableArray中的协议类型

时间:2012-08-17 20:53:39

标签: iphone objective-c ios oop protocols

我正在尝试将一些从.NET到.NET开发的仿制方法引入我的iOS开发中。我正在检索Example类型的自定义对象列表。

我已经定义了一个Example类实现的协议:

@protocol ExampleProtocol
@property(nonatomic,assign) int Id;
@property(nonatomic,copy)NSString *Description;
@optional
@property(nonatomic,copy)NSString *Icon;
@end

然后我按如下方式检索我的NSMutableArray:

id<ExampleProtocol> anExample = [arrayOfExampleProtocols objectAtIndex:0];

我遇到的问题是,无论NSMutableArray的内容如何,​​anExample始终为空。我的最终目标是能够使用以下语法引用属性:

id<ExampleProtocol> anExample = [arrayOfExampleProtocols objectAtIndex:0];
NSString *test = [anExample Description];

1 个答案:

答案 0 :(得分:0)

Obj-C中没有泛型。 “协议”是一种消息传递机制。请参阅此帖子:No Generics in Obj-C