什么是NSConcreteData,它在哪里定义?

时间:2009-07-11 14:28:31

标签: iphone cocoa-touch nsdata

以下代码:

[[NSData alloc]initWithContentsOfURL:[NSURL URLWithString:mapURL]]

返回NSConcreteData的一个实例而不是NSData(我期望!)。 NSConcreteData表示什么,确切地说,以及为什么返回它而不是NSData的实例?此外,这个类定义在哪里? XCode抱怨它尚未定义,但我不知道应该包括什么才能获得该课程。

任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:19)

Foundation框架在某些区域使用类集群为各种类提供通用接口。这意味着,当您使用NSData API创建NSData对象时,实例化和返回的实际类与NSData不同,但是可以而且应该对其进行处理,您的代码称为NSData对象。

在一天结束时,简单的答案是:忽略NSConcreteData的存在并将其视为NSData

有关类集群的更多信息,请参阅Apple Cocoa Fundamentals Guide的Class Clusters部分。