我有一个问题,swift 3不会出现swift 2.我读了一个json值,并调用函数intValue
(integerValue
swift 2)和xcode我得到了错误
“ambiguos引用intValue”。
为什么?
let errorcode = json["errorCode"]
switch(errorcode?.integerValue){
case 1?
答案 0 :(得分:2)
假设json
的类型为[String: AnyObject]
,
errorcode
的类型为AnyObject?
和
errorcode?.intValue
含糊不清,因为NSNumber
和NSString
都有intValue
属性。您可以将值转换为预期的NSNumber
类型
let errorcode = json["errorCode"] as? NSNumber // type is `NSNumber?`
switch errorcode?.intValue {
case 1?:
// ...
}
或直接将其投放到Int
:
let errorcode = json["errorCode"] as? Int // type is `Int?`
switch errorcode {
case 1?:
// ...
}