Swift Playground 中的空类给出 __lldb_expr_ 错误
Posted
技术标签:
【中文标题】Swift Playground 中的空类给出 __lldb_expr_ 错误【英文标题】:Empty Class in Swift Playground Gives __lldb_expr_ Error 【发布时间】:2015-05-18 12:37:34 【问题描述】:在 Swift Playground 中敲出一个空类会导致错误 __lldb_expr_
//: Playground - noun: a place where people can play
import UIKit
class FooBar
let foo = FooBar()
请参阅随附的屏幕截图。
这发生在 Xcode 版本 6.3.1 (6D1002) 上。我还尝试了最新的 Xcode 6.4 beta 3 - 版本 6.4 (6E7) - 2015 年 5 月 11 日可用。同样的错误发生了。
在普通的 Swift 项目中构建空类没有问题。
可以通过简单地添加一个虚拟常量来避免该错误,如下所示:
//: Playground - noun: a place where people can play
import UIKit
class FooBar
let wibble = 10
let foo = FooBar()
考虑到创建初始空类是如此基本的事情,我对这个错误感到惊讶。就我而言,我想要一个滚动视图委托类来跟踪内容偏移量。使用没有属性的委托似乎是完全合理的。
有什么想法吗?
【问题讨论】:
【参考方案1】:这不是错误。
这是一个信息,变量foo
现在拥有一个类FooBar
的对象,其内部 名称是__lldb_expr_12.FooBar
。在这种情况下,__lldb_expr_12
是 Playground 中 Swift 模块的名称。
【讨论】:
啊,好消息!所以基本上没有属性,__lldb_expr 是默认输出的? 在 Playground 中你所有的类名都以__lldb_expr….
为前缀。所有的类都必须属于一个有名字的 Swift 模块。类的内部名称为ModuleName.ClassName
。而且由于您无法在 Playground 中选择自定义模块名称,它将使用 __lldb_expr…
。 - 例如,当您构建一个应用程序时,它将是AppName.ClassName
。 - 即它不依赖于属性。
我在 Xcode 11.3.1 中试过这个,我得到的是 foobar = Optional(LearnARC.Foobar)以上是关于Swift Playground 中的空类给出 __lldb_expr_ 错误的主要内容,如果未能解决你的问题,请参考以下文章
整数溢出在 Swift 中给出 EXC_BAD_INSTRUCTION
swift_简单值 | 元祖 | 流程控制 | 字符串 | 集合
Swift 中的 Playground 不会使用 Firebase
如何将数据从 Playground 页面传递到 Swift Playgrounds 中的另一个 Playground 页面?