I have made a ViewController for testing with code below
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]()
}
}
The problem is that the entity (some) stored in property dict will never receive deinit call. I see only "Some entity created". Is it right behaviour?
EDITED:
It has been fixed in new Swift version