Objective c 如何向集合添加不透明类型
如何向cocoa中的集合添加不透明类型 我得到了一个编译器警告(显然,因为不透明类型不是对象):Objective c 如何向集合添加不透明类型,objective-c,cocoa,collections,Objective C,Cocoa,Collections,如何向cocoa中的集合添加不透明类型 我得到了一个编译器警告(显然,因为不透明类型不是对象): 可以使用NSValue类将不透明类型包装到对象中。发件人: NSValue对象是一个简单的 单个C或C的容器 目标-C数据项。它可以装任何东西 对于int等标量类型, 浮点、字符以及指针, 结构和对象ID。这个 本课程的目的是允许 要添加的此类数据类型的项 到集合,例如的实例 NSArray和NSSet,它们需要 元素将成为对象。NSValue 对象总是不可变的 可以使用NSValue类将不透明类型
可以使用NSValue类将不透明类型包装到对象中。发件人: NSValue对象是一个简单的 单个C或C的容器 目标-C数据项。它可以装任何东西 对于int等标量类型, 浮点、字符以及指针, 结构和对象ID。这个 本课程的目的是允许 要添加的此类数据类型的项 到集合,例如的实例 NSArray和NSSet,它们需要 元素将成为对象。NSValue 对象总是不可变的
可以使用NSValue类将不透明类型包装到对象中。发件人: NSValue对象是一个简单的 单个C或C的容器 目标-C数据项。它可以装任何东西 对于int等标量类型, 浮点、字符以及指针, 结构和对象ID。这个 本课程的目的是允许 要添加的此类数据类型的项 到集合,例如的实例 NSArray和NSSet,它们需要 元素将成为对象。NSValue 对象总是不可变的 CoreFoundation数据类型(CFTypes)可以直接添加到集合中。(需要将它们转换为(id)以抑制警告。)这称为“免费桥接” CoreFoundation数据类型(CFTypes)可以直接添加到集合中。(需要将它们转换为(id)以抑制警告。)这称为“免费桥接”
这不是正确的答案。CFTYPE可以通过免费桥接直接添加到集合中。请参阅已接受的答案。这不是正确答案。CFTYPE可以通过免费桥接直接添加到集合中。见公认的答案。
CGColorSpaceRef colorSpace;
NSArray *myArray = [NSArray arrayWithObject:colorSpace];
CGColorSpaceRef colorSpace;
NSArray *myArray = [NSArray arrayWithObject:(id)colorSpace];