什么是Swift Playground中的lldb_expr?
我试图向某人演示基本inheritance以及如何在覆盖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()
为什么我在最后一行得到{__lldb_expr_380.Animal feet 4}
? 当我在动物类下创建一个实例变量时它就消失了。
我不是100%关于这一点,但对我来说,这似乎是理智和合乎逻辑的。
您的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
- 仅在设置中设置为ON的数组中search
- Facebook连接批量请求和FQL错误问题
- 在FScalendar中快速禁用将来的dateselect
- 如何使用Swift执行multipart / form-data post请求?
- UIView子类中的CAShapeLayer
- 单击另一个单元格时将UITableViewCell折叠为原始大小
- 在boundingRectWithSize中使用NSStringDrawingUsesLineFragmentOrigin:options:context:获得额外的空白
- 如何使用iOS API将KML文件URL加载到Google Maps?
- 禁用UITextviewselect文本和复制/粘贴菜单