어쩌다보니 iOS 개발자

4. 프로퍼티를 이해하라 본문

iOS 개발/이펙티브 오브젝티브-C

4. 프로퍼티를 이해하라

엔디엘(no Dream no Life) 2017. 9. 18. 16:22


@property 로 선언한 변수는


1. 자동으로 _(언더바)를 접두어로 붙인 인스턴스 변수 클래스를 생성한다.

2. setter, getter 메소드를 자동으로 생성한다.



프로퍼티 속성


총 4가지 속성을 적용할 수 있다.



1. 원자성(nonatomic, atomic)

  디폴트 값은 atomic



2. 읽기/쓰기

  • readwrite 게터, 세터 모두 사용한다.
  • readonly 게터만 사용한다.

3. 메모리 관리 시맨틱

데이터의 구체적인 소유권 시맨틱
오직 세터에만 해당된다.
예를 들면 세터는 새로운 값을 리테인 해야 하나? 아니면 간단히 하부의 인스턴스 변수에 할당만 해야 하나? 
assign, strong, weak, unsafe_unretained, copy



4. 메서드 이름




기억할 점

iOS 에서는 nonatomic을 사용하라.

메모리 관리 시맨틱을 반드시 정의하라.


Comments