【发布时间】:2017-02-12 05:14:54
【问题描述】:
我有一个使用 Swift 1.5 构建的项目。当我将代码转换为 swift 3.0 时,它开始在以下代码中的每个“if”语句中显示错误:
convenience init?(userInfo: [NSObject: AnyObject]) {
guard let statusString = userInfo[ConnectionMessage.StatusKey] as? String else {
return nil
}
guard let status = ConnectionStatus(string: statusString) else {
return nil
}
guard let connectionId = userInfo[ConnectionMessage.ConnectionIdKey]?.longLongValue else {
return nil
}
var ssid = ""
if let newSsid = userInfo[ConnectionMessage.SSIDKey] as? String {
ssid = newSsid
}
var password = ""
if let pw = userInfo[ConnectionMessage.PasswordKey] as? String {
password = pw
}
let buyerName = userInfo[ConnectionMessage.BuyerNameKey] as? String
self.init(status: status, connectionId: connectionId, ssid: ssid, password: password, buyerName: buyerName)
}
错误是
对成员下标的不明确引用
我尝试了在 StackOverflow 上找到的解决方案,但没有成功。请指导。
【问题讨论】:
标签: ios dictionary swift3 xcode8