我是Swift的新手。我在网上看到了这段代码:
let number = Int("123")
我想更多地了解" Int"将字符串作为参数的类型初始化器。但是,当我查看Apple的正式Swift文档时:
我无法找到实际上以字符串作为参数的Int类型初始化器。我在找错了地方吗?或者我有什么遗漏或不知道的东西?
答案 0 :(得分:3)
如果您点击init(_:radix:)
展开声明,那么您会看到
从给定基数中的ASCII表示构造。
宣言
init?(_ text: String, radix radix: Int = default)
第一个参数是一个字符串(并且有一个空的外部参数 名称)。第二个参数“radix”具有默认值, 因此在调用函数时可以省略它:
let number = Int("123")
但您可以指定基数以从字符串创建数字 在另一个基地代表:
let numberFromHexString = Int("100", radix: 16) // Optional(256)
let numberFomOctalString = Int("077", radix: 8) // Optional(63)
我还学到了一个“技巧” "Jump to definition" for methods without external parameter names:如果你写
let number = Int("123")
as
let number = Int.init("123")
然后你可以在Xcode中“命令点击”“init”,然后你就被带领了 直接到声明
public init?(_ text: String, radix: Int = default)