在Swift中,Int有一个带String的隐藏初始化器吗?
发布时间:2020-12-14 05:43:21 所属栏目:百科 来源:网络整理
导读:我试着查看用于Int的Swift API,我仍然不确定为什么这样做: var foo = Int("100") 我在文档中看到以下初始化器: init()init(_: Builtin.Word)init(_: Double)init(_: Float)init(_: Int)init(_: Int16)init(_: Int32)init(_: Int64)init(_: Int8)init(_: UI
我试着查看用于Int的Swift API,我仍然不确定为什么这样做:
var foo = Int("100") 我在文档中看到以下初始化器: init() init(_: Builtin.Word) init(_: Double) init(_: Float) init(_: Int) init(_: Int16) init(_: Int32) init(_: Int64) init(_: Int8) init(_: UInt) init(_: UInt16) init(_: UInt32) init(_: UInt64) init(_: UInt8) init(_:radix:) init(_builtinIntegerLiteral:) init(bigEndian:) init(bitPattern:) init(integerLiteral:) init(littleEndian:) init(truncatingBitPattern: Int64) init(truncatingBitPattern: UInt64) 但我没有看到上面的init(_:String).引擎盖下是否有一些自动化?
有一个
extension Int { /// Construct from an ASCII representation in the given `radix`. /// /// If `text` does not match the regular expression /// "[+-][0-9a-zA-Z]+",or the value it denotes in the given `radix` /// is not representable,the result is `nil`. public init?(_ text: String,radix: Int = default) } 采用字符串和可选基数的扩展方法(默认为10): var foo = Int("100") // Optional(100) var bar = Int("100",radix: 2) // Optional(4) var baz = Int("44",radix: 3) // nil 怎么会找到那个?使用来自的“技巧” var foo = Int.init("100") // ^^^^ 然后cmd点击Xcode中的init (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |