Guest User

Untitled

a guest
Jan 17th, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.43 KB | None | 0 0
  1. class A {
  2. var b: B?
  3. deinit {
  4. print("A being deallocated")
  5. }
  6. }
  7.  
  8. class B {
  9. var a: A?
  10. deinit {
  11. print("B being deallocated")
  12. }
  13. }
  14.  
  15. @discardableResult
  16. func makeCycle() -> A {
  17. let a = A()
  18. let b = B()
  19. b.a = a
  20. a.b = b
  21. return a
  22. }
  23.  
  24. weak var a: A? = makeCycle()
  25.  
  26. print(a == nil ? "A is gone" : "A exists")
  27.  
  28. print("Setting a.b to nil")
  29. a?.b = nil
  30.  
  31. print(a == nil ? "A is gone" : "A exists")
Add Comment
Please, Sign In to add comment