在以下示例中,是否有更好的方法来分配DEF?我想将类型A转换为类型B,但仍然可以保留零可能性. 但是,似乎无法绊倒更好的方法.建议? class ABC { var DEF: Int? func X (someValue: Int8?) { DEF = som
但是,似乎无法绊倒更好的方法.建议?
class ABC { var DEF: Int? func X (someValue: Int8?) { DEF = someValue != nil ? Int(someValue) : nil } }斯威夫特1:
class ABC { var DEF: Int? func X (someValue: Int8?) { DEF = someValue.map{Int($0)} } }
斯威夫特2:
class ABC { var DEF: Int? func X (someValue: Int8?) { DEF = someValue.map(Int.init) } }
map()接受一个可选的,展开它,并向它应用一个函数.如果可选解析为nil,则map()返回nil.