ARC
작성일
ARC
class Person {
var name = "John Doe"
deinit {
print("person deinit")
}
}
var person1: Person?
var person2: Person?
var person3: Person?
person1 = Person()
person2 = person1
person3 = person1
이렇게 사용하면 Person Instance를 참조가 3이 되버린다.
그후
person1 = nil
person2 = nil
을 해도 person3이 Person Instance를 참조하고 있기 때문에 메모리에서 내려가지 않는다. 따라서
person3 = nil
을 해야지
출력
person deinit
이 출력된다.