У меня есть проект, построенный в Swift 1.5. Когда я преобразовал код стремительной 3.0 он начал показывать мне ошибки в каждом «если» заявление в код ниже:Неоднозначная ссылка на «нижний индекс участника» в Swift 3
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, но не повезло. Пожалуйста, направляйте.
Спасибо. Понял. Не могли бы вы объяснить, почему он работал в предыдущих версиях быстро и почему сейчас не работает? – Yogi
Я только научился Swift с 3.0, поэтому я не знаю, как это было обработано в более старых версиях. – rmaddy