0

SquareCam一部の Apple コード (例から) を ARCに変換しようとしています。Apple コードを非 ARC としてコンパイルするようにフラグを立てて動作させましたが、非 ARC コンテキストと ARC コンテキストの間で画像を渡すときにクラッシュ エラーが発生していたので、それを解決しようとしています。

とにかく、次の行を除いて、すべての ARC を処理したと思います。

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

これは、CIDetectorImageOrientationキー値 (CoreImage 顔検出) に使用されます。これに対して以下のARCエラーが発生し、私が試したもののどれもこれを解決しません。「imageDataSampleBuffer」のタイプはCMSampleBufferRefです。

CFTypeRef を必要な NSNumber に変換する正しい方法は何ですか? - ありがとう!

Objective-C 以外のポインター型 'CFTypeRef' (別名 'const void *') から 'NSNumber *' への暗黙的な変換は、ARC では許可されていません。

4

1 に答える 1

1

CFTypeRef を NSObject* に割り当てているため、コンパイラは文句を言います。__bridgeNSNumber に対してa を実行する必要があります。

于 2012-05-03T21:57:48.033 に答える