在没有更多上下文的情况下,表达式的类型是模棱两可的。 <SocketEngine> 类
Posted
技术标签:
【中文标题】在没有更多上下文的情况下,表达式的类型是模棱两可的。 <SocketEngine> 类【英文标题】:Type of expression is ambiguous without more context. <SocketEngine> Class 【发布时间】:2017-10-05 14:12:42 【问题描述】:我正在使用 Xcode 9 和 Swift 4。
我有一个用 Swift 3 和 Xcode 8 编写的项目。
我试图在 Xcode 9 中运行此代码。在 Xcode 将 Swift 3 转换为 Swift 4 后,我遇到了以下错误:
没有更多上下文的表达类型是模棱两可的
Here is the link from where I was using the Swift file.
错误出现在以下方法中:
private func handleBase64(message: String)
// binary in base64 string
let noPrefix = message[message.index(message.startIndex, offsetBy: 2)..<message.endIndex]
if let data = NSData(base64Encoded: noPrefix, options: .ignoreUnknownCharacters)
client?.parseEngineBinaryData(data as Data)
【问题讨论】:
【参考方案1】:您不应将库的函数更新手动到 Swift 4。
再次下载库,it has now been updated to Swift 4。
【讨论】:
太棒了。谢谢您的帮助。让我们试一试。【参考方案2】:你应该改变:
if let data = Data(base64Encoded: noPrefix, options: .ignoreUnknownCharacters)
client?.parseEngineBinaryData(data)
到 ::::::
if let data = Data(base64Encoded: **String(noPrefix)**, options: .ignoreUnknownCharacters)
client?.parseEngineBinaryData(data)
【讨论】:
以上是关于在没有更多上下文的情况下,表达式的类型是模棱两可的。 <SocketEngine> 类的主要内容,如果未能解决你的问题,请参考以下文章
Alamofire 类型的表达式在没有更多上下文的情况下是模棱两可的