我正在尝试将一些Apple代码(从 SquareCam
示例)转换为ARC . 我将Apple代码标记为非ARC编译并且它有效但我在非ARC上下文之间传递图像时遇到崩溃错误 - 所以我正试图解决这个问题 .
无论如何,我认为我已经处理了除此行之外的所有ARC内容:
NSNumber *orientation = CMGetAttachment(imageDataSampleBuffer, kCGImagePropertyOrientation, NULL);
这用于 CIDetectorImageOrientation
键值(CoreImage面部检测) . 我在下面得到了ARC错误,我尝试过的所有内容都没有解决这个问题 . "imageDataSampleBuffer"的类型为 CMSampleBufferRef
.
将CFTypeRef转换为我需要的NSNumber的正确方法是什么? - 谢谢!
ARC不允许将非Objective-C指针类型'CFTypeRef'(又名'const void *')隐式转换为'NSNumber *'
1 回答
因为您正在为NSObject *分配CFTypeRef,所以编译器会抱怨 . 你需要对NSNumber做一个
__bridge
.