转换为 Swift 3.0 时出现多个问题

Posted

技术标签:

【中文标题】转换为 Swift 3.0 时出现多个问题【英文标题】:Multiple issues when converted to Swift 3.0 【发布时间】:2016-10-19 12:50:36 【问题描述】:

我的任务是将项目转换为 Swift 3.0。但我没有 Swift 语言的专业知识。我仍然遵循了一些提示,并且已经转换为 Swift 3.0 并且遇到了很多错误。能够修复大约 100 多个错误,但仍然很少有待处理的错误。我做了很多搜索,但找不到任何解决方案。有人可以帮我解决问题吗?不要觉得我在问直接的解决方案。我真的被卡住了,这就是我问的原因。

如果需要更多信息,请告诉我。

所以,下面我列出了一些我目前无法修复的项目。

首先: 此问题已解决

self.audioFileStreamID = AudioFileStreamID()
self.audioQueue = AudioQueueRef() 

对于这两个代码,我得到了错误;

无法为没有参数的“AudioFileStreamID”类型转换初始值设定项。

第二次: 此问题已解决

let status = AudioFileStreamOpen(self.pointer, AudioFileStreamPropertyListener, AudioFileStreamPacketListener, fileType, &self.audioFileStreamID)

错误信息:

不能将不可变值作为 inout 参数传递。从“AudioFileStreamID”到“AudioFileStreamID”的隐式转换?需要一个临时的

第三:

self.type(of: init)(scheme: scheme, host: host, path: path, credential: credential)

错误信息:

表达式列表中的预期表达式

convenience init(scheme: String, host: String, path: String, credential: URLCredential) 
    let url = NSURL(scheme: scheme, host: host, path: path)!
    self.type(of: init)(url: url, credential: credential) //here also got the same error

更新: 第一个和第二个问题已修复。

【问题讨论】:

有人对这些问题有任何想法吗?请帮忙。 【参考方案1】:

更新您的可可豆荚并清除您的派生数据文件夹并尝试再次运行。

在 xcode 8 中派生的数据文件夹发生了变化,

转到文件 -> 工作区设置 -> 然后查看此图像,

点击 -> 路径并清除派生数据文件夹。

还要检查 swift 3.0 中是否不推荐使用某些方法

【讨论】:

我已按照您的步骤操作,但错误仍然存​​在。 :(

以上是关于转换为 Swift 3.0 时出现多个问题的主要内容,如果未能解决你的问题,请参考以下文章

尝试使用 Multipeer Connectivity Swift 3 Xcode8 传递 UIALERT 时出现多个错误

在 Firebase 中保存多个值时出现 InvalidFirebaseData 错误

Swift 解析 JSON 时出现问题:无法将“__NSCFDictionary”类型的值转换为“NSArray”错误

iOS 3DAnimations:旋转多个叠加视图时出现问题

无法为类型 Unsafepointer Swift 3.0 转换初始化变量

向下转换“任何”时出现 Swift 错误