Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class A {
- var b: B?
- deinit {
- print("A being deallocated")
- }
- }
- class B {
- var a: A?
- deinit {
- print("B being deallocated")
- }
- }
- @discardableResult
- func makeCycle() -> A {
- let a = A()
- let b = B()
- b.a = a
- a.b = b
- return a
- }
- weak var a: A? = makeCycle()
- print(a == nil ? "A is gone" : "A exists")
- print("Setting a.b to nil")
- a?.b = nil
- print(a == nil ? "A is gone" : "A exists")
Add Comment
Please, Sign In to add comment