这是我的问题:我正在尝试为Double(或Int)创建一个全局扩展,它可以在每个ViewController中使用,而不必重复每个ViewController文件顶部的代码。
例如:
extension Double {
var mileToFeet: Double {return self * 5280}
}
当然我可以这样称呼它:
let feet = 26.mileToFeet
显然,当我将扩展放在ViewController的顶部并将其与代码一起使用时,这是有效的,但是我可以在哪里放置扩展名以便我可以在任何地方使用它?
我试着将它放入AppDelegate,但那不起作用? 我在正确的轨道吗?
由于
答案 0 :(得分:3)
您需要制作广告public
:
public extension Double {
var mileToFeet: Double {return self * 5280}
}
答案 1 :(得分:3)
您应该将代码放在顶层。因为不在任何视图控制器或任何其他类中。像这样:
extension Double {
// Your code
}
class MyViewController: UIViewController {
// ...
}
不这个:
class MyViewController: UIViewController {
extension Double {
// Your code
}
// ...
}