Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Object-C의 접근자 메서드(accessor method)에 대해서

524 views

Published on

Object-C의 접근자 메서드

Published in: Software
  • Be the first to comment

  • Be the first to like this

Object-C의 접근자 메서드(accessor method)에 대해서

  1. 1. Object-C의 접근자 메서드 (accessor method) 김명연
  2. 2. @property Objective-C 2.0에서부터는 @property 지시어 를 사용해서 getter와 setter에 대한 코드를 자 동으로 생성할 수 있다.
  3. 3. property 속성 readwrite - 기본동작으로 getter와 setter를 모두 만든다. readonly - getter만 생성. 값을 할당하려고 하면 컴파일 오류가 발생한다. assign - 기본동작이며 객체를 소유할 필요가 없을 때 사용. retain - assign과 비슷하지만 레퍼런스 카운트를 증가시킨다. 포인터객 체를 할당할 경우에는 외부에서 객체가 release 되어 파괴된 객체를 참조 하는 문제를 막기 위해서 클래스가 멤버객체를 소유하도록 reference count를 증가시킨다. copy - 할당하는데 객체의 복사본을 사용. 포인터객체의 경우 reference 값이 바뀌어 property의 값이 바뀌는 걸 막기 위해 setter에서 복사본을 만들어서 할당하며 copy를 사용하려면 NSCopying 프로토콜을 구현한 객체에서만 유효하다. nonatomic - Accessor들을 non-atomic으로 지정한다. 멀티프로세서 환 경해서 지정이 필요함. Mutually exclusive락으로 접근자 메서드를 보호 하지 말라고 지시하는 것이다. 기본동작은 atomic이다.
  4. 4. @synthesize @property를 사용해서 property들에 대한 getter와 setter를 선언했으면 @implementation에서 실제 코드 를 추가해 주어야 한다. @property를 사용한 것은 단지 컴파일러가 @implementation에서 getter와 setter Method가 작성 되었다는 것을 지시하는 것이다.
  5. 5. @dynamic @dynamic 지시어는 @synthesize대신에 사용할 수 있으며 getter와 setter 메서드가 클래스 자신에 의해서 구현되지 않고 (슈퍼클래스같은)다른 어딘가에 구현되어 있다고 알려 주어 getter/setter가 구현되어 있지 않아도 컴파일러 경고를 받지 않게 해준다.

×