Swift 中的可空整数
Nullable Int in Swift
我正在尝试使用包含可空 int 作为值的散列。下面是代码。
var facs:[(pk:Int,phone:Int?,name:String)] = []
var phone: AnyObject? = fac["phone"]!
var phoneLong:Int?;
if(phone == nil){
phoneLong = nil
}
else{
phoneLong = phone as? Int
}
var id = fac["id"]! as Int
var name = fac["name"]! as String
facs.append(pk:id, phone:phoneLong, name:name)
但是,我在 facs.append
行上收到一个编译错误,指出 Type 'T' does not conform to protocol 'IntegerLiteralConvertible'
。我尝试了一些变体,消除错误的唯一方法是使 phone 成为不可为 null 的 int,这不是我需要的。想法?
看起来 append
方法没有正确地将参数检测为元组 - 只需通过将元组分配给变量来使其明确:
let params = (pk:id, phone:phoneLong, name:name)
facs.append(params)
我正在尝试使用包含可空 int 作为值的散列。下面是代码。
var facs:[(pk:Int,phone:Int?,name:String)] = []
var phone: AnyObject? = fac["phone"]!
var phoneLong:Int?;
if(phone == nil){
phoneLong = nil
}
else{
phoneLong = phone as? Int
}
var id = fac["id"]! as Int
var name = fac["name"]! as String
facs.append(pk:id, phone:phoneLong, name:name)
但是,我在 facs.append
行上收到一个编译错误,指出 Type 'T' does not conform to protocol 'IntegerLiteralConvertible'
。我尝试了一些变体,消除错误的唯一方法是使 phone 成为不可为 null 的 int,这不是我需要的。想法?
看起来 append
方法没有正确地将参数检测为元组 - 只需通过将元组分配给变量来使其明确:
let params = (pk:id, phone:phoneLong, name:name)
facs.append(params)