繁体   English   中英

rk! ARC错误:不允许将'CFTypeRef'(aka'const void *')转换为'NSNumber *'

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM