본문 바로가기
[Effective Objective-C] 목차와 요약을 통해 한 눈에 알아보는 Effective Objective-C #25 ~ #32 [Effective Objective-C] 목차와 요약을 통해 한 눈에 알아보는 Effective Objective-C #25 ~ #32 출처 : Effective Objective-C #25 : 서드 파티 클래스에는 반드시 카테고리 이름을 접두어로 붙이라 자신이 소유하지 않은 클래스에 카테고리를 추가할 때는 항상 카테고리 이름에 접두어를 붙이라. 자신이 소유하지 않은 클래스에 카테고리를 추가할 때 카테고리의 메서드에도 접두어를 항상 붙이라. #26 : 카테고리에는 프로퍼티를 사용하지 말라 데이터를 캡슐화하는 모든 프로퍼티 선언은 메인 인터페이스 파일에서 하라. 클래스 확장 카테고리를 제외하고 카테고리 내에 프로퍼티를 선언하기보다는 접근자 메서드를 사용하라. #27 : 클래스 확장 카테고리를 이용해 상세.. 2017. 9. 26.
[Effective Objective-C] #27 클래스 확장 카테고리를 이용해 상세한 구현을 숨기라. [Effective Objective-C] #27 클래스 확장 카테고리를 이용해 상세한 구현을 숨기라. 출처 : Effective Objective-C -클래스가 외부로 공개한 메서드와 인스턴스 변수 이외의 메서드와 변수를 갖길 원할 때가 많이 있다.일단 이런 인스턴스 변수와 메서드들을 외부로 공개하고 문서에 내부용(private)이기 때문에 사용하면 안 된다고 명시할 수 있다.무엇보다도 오브젝티브-C 의 어떠한 메서드나 인스턴스 변수도 실제로는 프라이빗이 아니다.이는 동적 메시징 시스템이 동작하는 방식 때문이다.그렇다 하더라도 꼭 공개할 필요가 있는 것만 공개하는 것이 좋은 사용 방법이다. -클래스 확장 카테고리는 일반적인 카테고리와는 다르게 확장(continuation)이라는 클래스의 구현 파일에 정.. 2017. 9. 11.
[Effective Objective-C] #25 서드 파티 클래스에는 반드시 카테고리 이름을 접두어로 붙여라 [Effective Objective-C] #25 서드 파티 클래스에는 반드시 카테고리 이름을 접두어로 붙여라 출처 : Effective Objective-C -카테고리는 소스코드가 없는 클래스에 기능을 추가하기 위해 흔히 사용된다.이 기능은 매우 막강하지만 또한 이 기능을 사용함으로써 생기는 문제를 간과하기 쉽다.그 문제는 바로 카테고리의 메서드가 마치 클래스에 원래 있었던 것처럼 클래스의 일부분이 되는 사실 때문에 발생한다.이는 카테고리가 로딩될 때 실행 시간에 일어난다.런타임은 카테고리가 구현한 메서드들을 살펴보고 나서 메서드들을 클래스의 메서드 리스트에 추가한다.추가하는 카테고리의 메서드가 이미 클래스에 있다면, 추가되는 카테고리 메서드가 기존 메서드를 덮어 쓴다.이런 식의 덮어쓰기(overrid.. 2017. 9. 9.
반응형