这段代码在
Swift 2中工作正常:
原文链接:https://www.f2er.com/swift/319471.htmlguard let userData = responseData["UserProfile"] as? [String : AnyObject] else { return } var userProfileFieldsDict = [String: String]() if let profileUsername = userData["Username"] as? NSString { userProfileFieldsDict["username"] = String(profileUsername) } if let profileReputationpoints = userData["ReputationPoints"] as? NSNumber { userProfileFieldsDict["reputation"] = String(profileReputationpoints) }
但是,在Swift 3中,它会在userProfileFieldsDict [“reputation”]上引发错误
init has been renamed to init(describing:)
我的问题是为什么它会触发该行而不是userProfileFieldsDict [“username”]赋值行,以及如何修复它?我假设它是因为我正在将一个NSNumber转换为String,但我无法理解为什么这很重要.