Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.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 核心数据中C结构的NSValueTransformer_Objective C_Cocoa_Core Data_Nsvaluetransformer - Fatal编程技术网

Objective c 核心数据中C结构的NSValueTransformer

Objective c 核心数据中C结构的NSValueTransformer,objective-c,cocoa,core-data,nsvaluetransformer,Objective C,Cocoa,Core Data,Nsvaluetransformer,如何为C结构创建NSValueTransformer,例如核心数据中的CGRect 显然,transformedValue&reverseTransformedValue需要和id。有没有方法传递一个void*,或者更好的方法呢?使用NSValue包装C指针 [NSValue valueWithPointer:&struct] 特别是对于CGRect,您可以使用 [NSValue valueWithCGRect:rect] 在UIKit/UIGeometry.h中声明了什么?您尝试过

如何为C结构创建
NSValueTransformer
,例如核心数据中的
CGRect


显然,
transformedValue
&
reverseTransformedValue
需要和
id
。有没有方法传递一个
void*
,或者更好的方法呢?

使用NSValue包装C指针

[NSValue valueWithPointer:&struct]
特别是对于CGRect,您可以使用

[NSValue valueWithCGRect:rect]

在UIKit/UIGeometry.h中声明了什么?您尝试过了吗?不幸的是,这似乎不适用于
CATTransferM3D
(它确实可以被
NSValue
装箱):
-[NSKeyedArchiver EncodeValueofObjectType:at:::]此归档程序无法对结构进行编码。有什么提示吗?我甚至编写了一个
NSValueTransformer
子类来将
cattransferm3d
转换为
NSString
,并将其设置为transformer类,但结果相同。。。