rb6*_*612 7 oop xcode ios swift swift-playground
我试图向某人演示基本继承以及在覆盖 init 时默认情况下如何始终调用超级初始化程序:
class Animal{
init(){
println("Animal has been initialized!")
}
}
class Dog:Animal{
var feet:Int = 4
override init(){
println("Dog has been initialized!")
}
}
var d = Dog()
Run Code Online (Sandbox Code Playgroud)
为什么我会排{__lldb_expr_380.Animal feet 4}在最后一行?当我在动物类下创建实例变量时,它就会消失。
我并不是百分百认同这一点,但对我来说,这似乎是理智且合乎逻辑的。
您的Animal类是空的,因此编译器需要一种方法来表达/打印类/它的值。所以它所做的就是打印,__lldb_expr_380.Animal因为编译器不知道还能用它做什么。例如,如果添加属性legs,结果将变为:{{legs 2} feet 4}。
因此,根据我的理解,每当你有这个空的超类时,编译器都会感到“困惑”,并且发生的错误是它只会打印出来__llb_expr_:some_number:.ClassName而不是类似{}.
参考:http ://discuss.codewithchris.com/t/episode-7-classes-error---lldb-expr-/150
| 归档时间: |
|
| 查看次数: |
5027 次 |
| 最近记录: |