retain 2

[iOS] Automatic Retain Counting (ARC) in Objective-C & Swift

Automatic Retain Counting (ARC) Objective-C와 Swift에서 사용하는 메모리 관리 방법으로, retain count를 추적해야하는 번거로움을 개발자가 아닌 컴파일러에게 일임하는 것이다.본래의 Objective-C에서는 'retain'과 'release' 메시지를 사용함으로써 객체를 해제할지 말지를 표시했다. ARC에서는 컴파일러가 소스코드를 검사하여 컴파일된 코드 안에 'retain'과 'release' 메시지를 추가한다. ARC가 코코아의 garbage collection과 다른 점은 객체를 해제하기 위한 background-process가 별도로 존재하지 않는다는 점이다. 그리고 ARC는 Retain Cycle에 대해 자동적으로 대응할 수 없다. 그래서 개발자는 'w..

[iOS] @property, @synthesize, @dynamic

@property 클래스 내의 멤버 변수에 대하여 접근자를 생성한다. @property를 사용할 경우, 추가로 attribute를 부여할 수 있다. attribute들은 아래와 같다. '*'로 표시된 attribute는 선언하지 않아도 기본적으로 적용되는 attribute들이다. getter= : 접근자 중 getter의 메소드 이름을 정의한다. setter= : 접근자 중 setter의 메소드 이름을 정의한다. readwrite * : getter/setter를 모두 만든다. Mutually exclusive로 readwrite를 한다. readonly : 오직 getter만 생성한다. 해당 property에 값을 할당하려고 하면 컴파일 오류가 발생한다. assign * : setter를 통해 간단한 ..