0

我正在尝试将一些 Apple 代码(来自SquareCam示例)转换为 ARC。我将 Apple 代码标记为编译为非 ARC 并且它可以工作,但是我在将非 ARC 上下文之间的图像传递到 ARC 上下文时遇到崩溃错误 - 所以我正在尝试解决这个问题。

无论如何,我想我已经处理了所有 ARC 的东西,除了这条线:

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

这用于CIDetectorImageOrientation键值(CoreImage 人脸检测)。我得到了下面的 ARC 错误,我尝试过的东西都没有解决这个问题。“imageDataSampleBuffer”的类型为CMSampleBufferRef

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

ARC 不允许将非 Objective-C 指针类型“CFTypeRef”(又名“const void *”)隐式转换为“NSNumber *”

4

1 回答 1

1

因为您将 CFTypeRef 分配给 NSObject*,所以编译器会抱怨。您需要对__bridgeNSNumber 执行操作。

于 2012-05-03T21:57:48.033 回答