我发现这个code on github,使用@conversion
属性的自定义类型转换。Swift 2.0中的@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它返回雨燕2.0的基数8字符串表示,但我得到了错误,说error: unknown attribute 'conversion' @conversion func __conversion() -> String
那么,有什么新的方式在雨燕2.0创建自定义转换功能?
见http://stackoverflow.com/a/24945349/1187415(带有链接到开发者论坛)。 '__conversion'从未打算成为一种公共方法,很久以前就被删除了。 –