나는 다음과 같은 예제 코드와 선택기를 호출 할 수 있도록 내가, 디스패치 테이블을 구현하기 위해 노력하고있어 :: 어떻게 선택기의 배열을 선언하는
NSInteger i = 2;
[myObject performSelector:selectors[i]];
I API의 메소드가 호출 될 때 영향을주는 사용자 환경 설정을 저장하려고합니다. 지금은 선택기의 문자열 이름을 사용하고 NSSelectorFromString을 사용합니다.하지만 약간 지저분합니다. 디스패치 테이블을 사용하면 대신 enum을 저장할 수 있습니다.
Objective-C에서 선택기 배열이나 디스패치 테이블을 만들려면 어떻게해야합니까?
편집 :
내가 속성으로 선택기의 배열을 설정하려고하면 컴파일러가 불평. @property SEL[]
은 컴파일되지 않습니다.
Edit2가 :
내가 my KosherCocoa API 라이브러리를 사용하고 내가 저장된 사용자 설정에 따라, 한 번에 하나의 메소드를 호출합니다. Plist 파일에 저장 중이며 Plist 파일에서 읽는 중입니다.
대신 전략 패턴이 도움이 될 것입니다. http://en.wikipedia.org/wiki/Strategy_pattern –