我是swift的新手,我想创建Dog类的扩展:
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
public class Dog {
var name = "Timmy"
}
}
extension Dog {
func description() -> String {
return "A dog named \(self.name)"
}
}
我认为扩展会走向最低点,有人可以帮我解决这个问题吗?
答案 0 :(得分:1)
您的Dog类在ViewController类中“隐藏”。在顶级声明它或将其称为ViewController.Dog
。
答案 1 :(得分:0)
问题是你已经在另一个类(Dog
)中声明了一个类(ViewController
) - 这首先是 don&#t; - 所以班级在另一个之外是不可见的。此外,您不必将扩展名放在文件的最后。
移动课程:
class ViewController: UIViewController { ... }
class Dog {}
extension Dog {}
更改您对班级的引用方式:
extension ViewController.Dog {}