Last active
February 15, 2019 14:21
-
-
Save fishkingsin/d8b6d3302610d6b2606a22cfc53ade75 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import UIKit | |
/* | |
class Person { | |
let name: String | |
init(name: String) { | |
self.name = name | |
} | |
deinit { | |
print("\(name) is be deinit ") | |
} | |
} | |
class Apertment { | |
let number: Int | |
// weak wont increase reference count | |
weak var tenant: Person? | |
init(number: Int) { | |
self.number = number | |
} | |
} | |
var bob :Person? = Person(name: "Bob") | |
// constant | |
let apt: Apertment? = Apertment(number: 123) | |
apt?.tenant = bob | |
bob = nil | |
if(apt?.tenant == nil) { | |
print("Oops bob is left") | |
} | |
print("end") | |
*/ | |
class Person { | |
let name: String | |
weak var apartment: Apertment? | |
// var apartment: Apertment? | |
init(name: String) { | |
self.name = name | |
} | |
deinit { | |
print("\(name) is be deinit ") | |
} | |
} | |
class Apertment { | |
let number: Int | |
// if weak wont increase reference count | |
weak var tenant: Person? | |
// var tenant: Person? | |
init(number: Int) { | |
self.number = number | |
} | |
deinit { | |
print("Apertment \(number) is be deinit ") | |
} | |
} | |
var bob :Person? = Person(name: "Bob") | |
var apt: Apertment? = Apertment(number: 123) | |
apt?.tenant = bob | |
bob?.apartment = apt | |
bob = nil | |
apt = nil | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment