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