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



我正在尝试将一些Apple代码(从SquareCam示例中(转换为ARC。我将 Apple 代码标记为编译为非 ARC 并且它有效,但是在非 ARC 上下文之间将图像传递到 ARC 上下文时出现崩溃错误 - 所以我正在尝试解决这个问题。

无论如何,我想我已经处理了除这一行之外的所有 ARC 内容:

 NSNumber *orientation = CMGetAttachment(imageDataSampleBuffer, kCGImagePropertyOrientation, NULL);

这用于CIDetectorImageOrientation键值(核心图像人脸检测(。我为此收到下面的 ARC 错误,我尝试过的所有东西都无法解决此问题。"imageDataSampleBuffer" 的类型为 CMSampleBufferRef

将CFTypeRef转换为我需要的NSNumber的正确方法是什么? - 谢谢!

非 Objective-C 指针类型"CFTypeRef"(又名 ARC 不允许将"const void *"更改为"NSNumber *">

因为您将 CFTypeRef 分配给 NSObject*,所以编译器会抱怨。 您需要对 NSNumber 进行__bridge

最新更新