Swift 3从Int转换为String

时间:2016-10-22 23:57:50

标签: string swift3

在Swift 3中,/etc/hosts结构似乎没有初始值设定项String,允许从init(_: Int)转换为Int。我的问题是为什么String有效?它调用的let i = String(3)方法或初始化程序是什么?感谢。

4 个答案:

答案 0 :(得分:32)

对于任何想要在Swift 3中将int转换为字符串的人来说:

let text = "\(myInt)"

答案 1 :(得分:11)

它正在调用init(_:)类的init(_:)(或UnsignedInteger} String个参数。

而不是为IntInt64Int32Int16Int8UIntUInt64定义单独的初始值设定项,UInt32UInt16UInt8,Apple制作了两个通用初始值设定项:一个用于SignedInteger类型,另一个用于UnsignedInteger类型。

答案 2 :(得分:6)

对于想要在Swift 3上将可选整数转换为字符串的人

id

答案 3 :(得分:0)

我向某人看到了这个解决方案,谢谢你,对那个人,我不记得是谁。

infix operator ???: NilCoalescingPrecedence

public func ???<T>(optional: T?, defaultValue: @autoclosure () -> String) -> String {
    switch optional {
    case let value?: return String(describing: value)
    case nil: return defaultValue()
    }
}

例如:

let text = "\(yourInteger ??? "0")"