【发布时间】:2014-08-29 09:21:33
【问题描述】:
当尝试在运行时初始化我的类的实例时,应用程序似乎冻结而不继续,这里是:
class Game: NSObject {
var allies: DoubleLinkedList<Combatant>
var enemys: DoubleLinkedList<Combatant>
var everyone: DoubleLinkedList<Combatant>
override init() {
println("Init of game")
allies = DoubleLinkedList<Combatant>()
enemys = DoubleLinkedList<Combatant>()
everyone = DoubleLinkedList<Combatant>()
println("Lists Made")
super.init()
}
}
这里是 DoubleLinkedList 的初始化:
class DoubleLinkedList<T: NSObject>: Printable {
var first: Node<T>?
var last: Node<T>?
var description: String {
return "Double linked list with ? objects."
}
init() {
println("Init of DoubleLinkedList")
}
}
有一些模式代码,但我认为它不会相关。控制台会打印这个:
Init of game
我在allies = DoubleLinkedList<Combatant>() 上设置了一个断点,应用程序按预期暂停。在“继续执行程序”之后似乎没有其他事情发生。我认为这是 swift beta 版本中奇怪的语义错误之一,可能有解决方法。
我已经清理了 build 和 build 文件夹,也已经删除了 DerivedData 文件夹。
【问题讨论】:
-
尝试让代码运行并使用调试器暂停应用并查看主线程在做什么。