Вложения - это CFDictionaryRef. Как выполнить функцию (_bridge NSDictionary *) в Swift?Как это преобразовать в Swift?
CIImage *ciImage = [[CIImage alloc] initWithCVPixelBuffer:pixelBuffer
options:(__bridge NSDictionary *)attachments];
UPDATE
здесь полный код раздела я попытался для создания CIImage.
func captureOutput(captureOutput: AVCaptureOutput!, didOutputSampleBuffer sampleBuffer: CMSampleBuffer!, fromConnection connection: AVCaptureConnection!) {
var pixelBuffer:CVPixelBufferRef = CMSampleBufferGetImageBuffer(sampleBuffer)
var attachmentMode = CMAttachmentMode(kCMAttachmentMode_ShouldPropagate)
var attachments = CMCopyDictionaryOfAttachments(kCFAllocatorDefault, sampleBuffer, attachmentMode)
var ciImage:CIImage = CIImage(CVPixelBuffer: pixelBuffer, options: attachments)
}
ОТВЕТ
@ ответ NobodyNada является правильным, а потому, что вложения является «неуправляемый» CFDictionary вы должны принять unretainedValue словаря для того, чтобы устранить ошибку. Правильный ответ:
var ciImage:CIImage = CIImage(CVPixelBuffer: pixelBuffer, options: attachments.takeUnretainedValue())
Здравствуйте! haha ... когда я использую предоставленный вами код, я получаю опции «дополнительный аргумент» ошибки «в вызове». Я думаю, это может быть потому, что вложения - неуправляемый CFDictionaryRef. Вот почему я думал, что мне нужна какая-то мостовая функциональность – user3353890
Я включил, как я создаю вложения в своем исходном вопросе – user3353890
Хорошо, я исправил это! – NobodyNada