Advertisement
Guest User

Untitled

a guest
Apr 24th, 2017
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.69 KB | None | 0 0
  1. class SomeClass {
  2. let id: Int
  3.  
  4. init(id: Int) {
  5. self.id = id
  6. }
  7. deinit {
  8. print("remove")
  9. }
  10. }
  11.  
  12. do {
  13. let object = SomeClass(id: 42)
  14. let closure = {[weak object] () -> Void in
  15. if let o = object {
  16. print("objectはまだ解放されていません: id => \(o.id)")
  17. } else {
  18. print("objectはすでに解放されました")
  19. }
  20. // print(object.id)
  21. }
  22.  
  23. print("ローカルスコープ内で実行: ", terminator: "")
  24. closure()
  25.  
  26. let queue = DispatchQueue.main
  27.  
  28. queue.asyncAfter(deadline: .now() + 1) {
  29. print("ローカルスコープ外で実行: ", terminator: "")
  30. closure()
  31. }
  32. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement