Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class SomeClass {
- let id: Int
- init(id: Int) {
- self.id = id
- }
- deinit {
- print("remove")
- }
- }
- do {
- let object = SomeClass(id: 42)
- let closure = {[weak object] () -> Void in
- if let o = object {
- print("objectはまだ解放されていません: id => \(o.id)")
- } else {
- print("objectはすでに解放されました")
- }
- // print(object.id)
- }
- print("ローカルスコープ内で実行: ", terminator: "")
- closure()
- let queue = DispatchQueue.main
- queue.asyncAfter(deadline: .now() + 1) {
- print("ローカルスコープ外で実行: ", terminator: "")
- closure()
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement