셀렉터

셀렉터 (Selectors)

Objective-C의 셀렉터(Selector)는 Object Pascal의 프로시저 타입(procedural type)에 해당하는 개념으로 볼 수 있어요.

출처: Free Pascal Reference - Selectors

본문

프로시저 타입과 달리, Objective-C에는 셀렉터 타입이 하나뿐이에요. 바로 SEL이죠. SELobjc 유닛에 정의되어 있는데, 이 유닛은 objectivec1 모드 스위치로 컴파일되는 모든 유닛의 uses 절에 자동으로 포함돼요.

SEL 타입의 변수에 값을 대입하려면 objcselector 메서드를 사용해야 해요.

{$modeswitch objectivec1}
var
  a: SEL;
begin
  a:=objcselector('initiWithWidth:andHeight:');
  a:=objcselector('myMethod');
end.

objc 유닛에는 셀렉터를 다루고 사용하는 메서드들이 들어 있어요.

더 알아보기

  • 셀렉터 문자열은 메시지 이름과 직접 연결되므로, 메시지 지시어(message)에 대한 내용을 함께 보면 좋아요.
  • objectivec1 모드 스위치가 objc 유닛을 자동 포함하는 방식은 관련 문법과 이어져요.