首页 文章

ARRK! ARC错误:'CFTypeRef'(又名'const void *')到'NSNumber *'是不允许的

提问于
浏览
0

我正在尝试将一些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 回答

  • 1

    因为您正在为NSObject *分配CFTypeRef,所以编译器会抱怨 . 你需要对NSNumber做一个 __bridge .

相关问题