[英]Arrk! ARC error:'CFTypeRef' (aka 'const void *') to 'NSNumber *' is disallowed
我正在尝试将某些Apple代码(从SquareCam
示例)转换为ARC。 我已将Apple代码标记为可编译为非ARC,并且可以正常工作,但是在非ARC上下文到ARC上下文之间传递图像时遇到了崩溃错误-因此,我正在尝试解决这一问题。
无论如何,我想我已经处理了所有ARC的东西,除了这一行:
NSNumber *orientation = CMGetAttachment(imageDataSampleBuffer, kCGImagePropertyOrientation, NULL);
这用于CIDetectorImageOrientation
键值(CoreImage人脸检测)。 我在下面收到此ARC错误,并且我尝试过的所有方法都无法解决此问题。 “ imageDataSampleBuffer”的类型为CMSampleBufferRef
。
将CFTypeRef转换为我需要的NSNumber的正确方法是什么? - 谢谢!
ARC不允许将非目标C指针类型'CFTypeRef'(aka'const void *')隐式转换为'NSNumber *'
因为您正在将CFTypeRef分配给NSObject *,所以编译器会抱怨。 您需要对NSNumber做一个__bridge
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.