Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 如何向集合添加不透明类型_Objective C_Cocoa_Collections - Fatal编程技术网

Objective c 如何向集合添加不透明类型

Objective c 如何向集合添加不透明类型,objective-c,cocoa,collections,Objective C,Cocoa,Collections,如何向cocoa中的集合添加不透明类型 我得到了一个编译器警告(显然,因为不透明类型不是对象): 可以使用NSValue类将不透明类型包装到对象中。发件人: NSValue对象是一个简单的 单个C或C的容器 目标-C数据项。它可以装任何东西 对于int等标量类型, 浮点、字符以及指针, 结构和对象ID。这个 本课程的目的是允许 要添加的此类数据类型的项 到集合,例如的实例 NSArray和NSSet,它们需要 元素将成为对象。NSValue 对象总是不可变的 可以使用NSValue类将不透明类型

如何向cocoa中的集合添加不透明类型

我得到了一个编译器警告(显然,因为不透明类型不是对象):


可以使用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];