如何将 Swift 可选的 NSNumber 转换为可选的 Int? (我的代码有什么改进吗?)
How to convert Swift optional NSNumber to optional Int? (any improvements on my code?)
在 Swift 中将可选数字转换为可选整数的 shortest/cleanest 方法是什么?
还有比这更好的方法吗? (见下文)
let orderNumberInt : Int?
if event.orderNum != nil {
orderNumberInt = Int(event.orderNum!)
} else {
orderNumberInt = nil
}
你可以使用 if let 语法
var number: NSNumber?
if let value = number as? Int {
// get int value
} else {
}
我认为最简单的方法是
var orderNumberInt = orderNum?.intValue
另外,你也可以这样做
var orderNum:NSNumber? = NSNumber(int: 12)
var orderNumberInt:Int? = (orderNum != nil) ? Int(orderNum!) : nil
print(orderNumberInt)
let number:NSNumber? = NSNumber(integer: 125)
if let integerValue = number?.integerValue {
print(integerValue)
}
let integerValue = number?.integerValue ?? 0
我正在使用这个简单的转换:
// lets consider following vars
var nsNum: NSNumber?
var oiNum: Int? // oi - optional Int
NSNumber 到可选的 Int?
nsNum = NSNumber.init(value: 18)
oiNum = nsNum as? Int
可选 Int?到 NSNumber
oiNum = 19
nsNum = oiNum as NSNumber?
p.s。我是 swift 的新手,所以如果有什么不对的地方,请随时纠正 :-)
orderNumberInt = orderNum?.intValue
这是 Swift 中最好的方法。
参考:https://developer.apple.com/documentation/foundation/nsnumber/1412554-intvalue
在 Swift 中将可选数字转换为可选整数的 shortest/cleanest 方法是什么?
还有比这更好的方法吗? (见下文)
let orderNumberInt : Int?
if event.orderNum != nil {
orderNumberInt = Int(event.orderNum!)
} else {
orderNumberInt = nil
}
你可以使用 if let 语法
var number: NSNumber?
if let value = number as? Int {
// get int value
} else {
}
我认为最简单的方法是
var orderNumberInt = orderNum?.intValue
另外,你也可以这样做
var orderNum:NSNumber? = NSNumber(int: 12)
var orderNumberInt:Int? = (orderNum != nil) ? Int(orderNum!) : nil
print(orderNumberInt)
let number:NSNumber? = NSNumber(integer: 125)
if let integerValue = number?.integerValue {
print(integerValue)
}
let integerValue = number?.integerValue ?? 0
我正在使用这个简单的转换:
// lets consider following vars
var nsNum: NSNumber?
var oiNum: Int? // oi - optional Int
NSNumber 到可选的 Int?
nsNum = NSNumber.init(value: 18)
oiNum = nsNum as? Int
可选 Int?到 NSNumber
oiNum = 19
nsNum = oiNum as NSNumber?
p.s。我是 swift 的新手,所以如果有什么不对的地方,请随时纠正 :-)
orderNumberInt = orderNum?.intValue
这是 Swift 中最好的方法。
参考:https://developer.apple.com/documentation/foundation/nsnumber/1412554-intvalue