在Swift中,将可选数字转换为可选整数的最短/最简洁的方法是什么?还有比这更好的方法吗?(见下文)
let orderNumberInt : Int? if event.orderNum != nil { orderNumberInt = Int(event.orderNum!) } else { orderNumberInt = nil }
bfrts1fy1#
我认为最简单方法是
var orderNumberInt = orderNum?.intValue
还有,你可以这样做
var orderNum:NSNumber? = NSNumber(int: 12) var orderNumberInt:Int? = (orderNum != nil) ? Int(orderNum!) : nil print(orderNumberInt)
mxg2im7a2#
let number:NSNumber? = NSNumber(integer: 125) if let integerValue = number?.integerValue { print(integerValue) } let integerValue = number?.integerValue ?? 0
jmo0nnb33#
orderNumberInt = orderNum?.intValue
这是在Swift中执行此操作的最佳方式。参考:https://developer.apple.com/documentation/foundation/nsnumber/1412554-intvalue
ds97pgxw4#
您可以使用if let语法
var number: NSNumber? if let value = number as? Int { // get int value } else { }
xienkqul5#
我使用的是这个简单的转换:
// 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?
我是斯威夫特的新手,所以如果有什么不对的地方,请随时纠正:-)
5条答案
按热度按时间bfrts1fy1#
我认为最简单方法是
还有,你可以这样做
mxg2im7a2#
jmo0nnb33#
这是在Swift中执行此操作的最佳方式。
参考:https://developer.apple.com/documentation/foundation/nsnumber/1412554-intvalue
ds97pgxw4#
您可以使用if let语法
xienkqul5#
我使用的是这个简单的转换:
将NSNumber转换为可选Int?
可选的将Int?转换为NSNumber
我是斯威夫特的新手,所以如果有什么不对的地方,请随时纠正:-)