使用以下命令创建对象意味着什么:id <class> instanceName?</class>

时间:2011-02-04 04:45:04

标签: iphone objective-c xcode

我在苹果网站上看到了一些像这样的代码

id <NSFetchedResultsSectionInfo> sectionInfo = ...

这与以下情况有何不同?

NSFetchedResultsSectionInfo *sectionInfo = ...

我对NSFetchedResultsSectionInfo本身并不感兴趣,而是对它的声明方式感兴趣。

非常感谢! 特里斯坦

2 个答案:

答案 0 :(得分:5)

NSFetchedResultsSectionInfo是一种协议。 id是一种声明通用对象的方式,id <NSFetchedResultsSectionInfo>声明了一个必须遵守NSFetchedResultsSectionInfo协议的通用对象。

答案 1 :(得分:3)

该语法用于指示被引用的对象符合特定协议。有关Objective-C的这一方面,请参阅Apple's documentation,特别是“遵守协议”一节及以下内容。