gpt4 book ai didi

swift - Swift 2.0 中的@conversion 属性

转载 作者:行者123 更新时间:2023-11-28 06:58:48 33 4
gpt4 key购买 nike

我找到了这个 code on github ,使用 @conversion 属性自定义类型转换。

class GrayShark {
var name:String
var howSwim:String

init(name:String, howSwim:String) {
self.name = name
self.howSwim = howSwim;
}
}

func letSharkSwim(shark:GrayShark) -> String {
return "\(shark.name) swims like '\(shark.howSwim)'."
}

extension NilType {
@conversion func __conversion() -> (GrayShark) {
return GrayShark(name:"Gray Shark", howSwim:"UNBELIEVABLE POWERRRRRRRR")
}
}

我试图对 UInt 进行扩展,它在 Swift 2.0 中返回其基数 8 字符串表示形式,但我收到错误提示 error: unknown attribute 'conversion'
@conversion func __conversion() -> 字符串

那么,在 Swift 2.0 中是否有任何新的方法来创建自定义转换函数?

最佳答案

我也不能在 Swift 2 中使用 @conversion 关键字(无论如何它是一个未记录的 API,因此它可能已在没有警告的情况下被删除)。

但是你不需要任何花哨的东西来使用 Swift 2 制作你的 UInt 扩展:

extension UInt {
var radix8Representation: String {
return String(self, radix: 8)
}
}

let x = UInt(16)
print(x.radix8Representation) // "20"

关于swift - Swift 2.0 中的@conversion 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32583675/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com