繁体   English   中英

如何将其转换为Swift?

How do I convert this to Swift?

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

附件是CFDictionaryRef。 如何在Swift中完成(_bridge NSDictionary *)功能?

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())
1 个回复

这称为免费桥接,它允许您通过简单的转换在某些Foundation和CoreFoundation类型之间进行转换。 __bridge是在ARC中添加的,因为没有它,ARC无法找出有关它的足够信息。 NSDictionaries和CFDictionaries在Swift中可以互换,而无需强制转换:

let ciImage = CIImage(buffer: pixelBuffer, options: attachments).takeUnretainedValue()

再次提醒您:)对不起,我无法回答您的其他问题; 我不得不突然去。

3 如何将 Swift 数组转换为字符串?

我知道如何以编程方式做到这一点,但我确定有一种内置方式...... 我使用的每种语言都有某种默认文本表示,用于对象集合,当您尝试将 Array 与字符串连接或将其传递给 print() 函数等时,它会吐出这些表示。 Apple 的 Swift 语言有一种内置的方法可以轻松地将数组转换为字符串,或者 ...

4 如何将swift Dictionary转换为NSDictionary

我正在尝试将[String : String] (一个Swift Dictionary)转换为NSDictionary ,以便稍后在产生字符串的JSON库上使用 但是let dict: NSDictionary = parcelDict不起作用 所有这些例子都不起作用。 它们会 ...

5 我如何将 Swift 字符串转换为整数?

我正在尝试快速制作一个简单的程序。 它应该让用户输入然后将其添加在一起,然后再次显示它。 我无法将字符串转换为整数。 这是我的程序: 我尝试了几种不同的方法,但仍然不起作用。 请帮忙,谢谢! ...

2019-11-21 03:28:00 2 39   swift
6 如何在Swift中将NSNumber转换为CLLocation

我还是Swift的新手,所以你必须忍受我! 我已经从Parse中使用PFGeoPoint收集了我当前的位置坐标,其类型为NSNumber。 现在,我需要将它们转换为CLLocation类型,以便可以在地图视图中使用它们。 有人可以告诉我该怎么做吗? 提前致谢。 ...

8 在Swift中,如何将int转换为字符串并反向显示结果?

该程序假设将F TO C更改为反向。 使用“开关”,它会从打开变为关闭,并且假设从C变为f,从off变为F到c,然后在文本字段中输入#。 单击提交按钮时,它会在文本字段中输入内容,然后将其转换为预执行算法,然后将其显示在文本字段中。 我相信转换会正确进行,但不会显示实际结果。 否则 ...

2015-11-19 20:44:52 1 168   swift
暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM