본문 바로가기
[Effective Objective-C] #42 performSelector 메서드군보다는 GCD 를 사용하라 [Effective Objective-C] #42 performSelector 메서드군보다는 GCD 를 사용하라 출처 : Effective Objective-C -performSelector 는 다음과 같이 사용한다.- (id)performSelector:(SEL)selector 이 메서드를 통해 선택자를 호출하는 것과 그냥 선택자를 직접 호출하는 것은 기능적으로 같은 것이다. 즉, 아래 두 코드는 같은 내용이다.[object performSelector:@selector(selectorName)];[object selectorName]; -이 메서드들의 진정한 능력은 선택자를 실행 시간에 결정할 수 있는 데서 비롯된다.이러한 동적 바인딩의 가장 큰 능력은 다음과 같은 일을 할 수 있다는 것이다.SEL .. 2017. 10. 7.
[Effective Objective-C] #14 클래스 객체가 무엇인지 이해하라 [Effective Objective-C] #14 클래스 객체가 무엇인지 이해하라 출처 : Effective Objective-C -객체 타입은 컴파일 시간에 결정되지 않고 실행 시간에 찾는다. -컴파일러는 리시버가 이해할 수 없다고 생각되는 메시지를 보내는 것에 경고를 보낼 수 있다.반대로 id 타입의 객체는 모든 메시지에 응답할 수 있다고 여긴다. -실행 시간에 객체 타입을 알아내는 것을 내성(introspection)이라 하고, 이는 Foundation 프레임워크의 NSObject 의 프로토콜로 녹아 들어간 강렬하고 유용한 기능이다.이 프로토콜은 모든 공통 최상위 클래스(NSObject 와 NSProxy) 를 상속받는 모든 객체가 따르는 프로토콜이다.객체의 클래스를 직접 비교하는 것보다는 이런 메서.. 2017. 8. 16.
반응형