我制作了一个ViewController,用于测试下面的代码
class SomeClass {
init() {
println("Some entity created")
}
deinit {
println("Some entity released")
}
}
class ViewController: UIViewController {
var dict = [String: SomeClass]()
@IBAction func buttonTouch(sender: UIButton) {
var some = SomeClass()
dict["1"] = some
dict.removeValueForKey("1")
dict = [String: SomeClass]()
}
}
问题是存储在属性 dict 中的实体( some )将永远不会收到 deinit 调用。我只看到" 创建了一些实体"。这是正确的行为吗?
编辑:
已修复新的Swift版本