:NSSelectorFromString에 인수 (예 : BOOL)를 전달할 수 있습니까? 대신에 이와 같은 코드를 갖는
switch(levelNumber) {
case 1: [Settings unlockLvl1:YES]; break;
case 2: [Settings unlockLvl2:YES]; break;
case 3: [Settings unlockLvl3:YES]; break;
case 4: [Settings unlockLvl4:YES]; break;
...
}
이 같은 NSSelectorFromString를 사용하는 기대했다 : 나는 올바르게 삽입 할 수있는 어느 곳이 있다는 것을 확실하지 않다 그러나
NSString *selectorString = [NSString stringWithFormat:@"unlockLvl%i", levelNumber];
SEL s = NSSelectorFromString(selectorString);
[Settings performSelector:s];
(BOOL) 이런 식으로 선택기를 호출 할 때 YES 인수가 필요합니까? 또한 가능한 경우 선택기를 사용하여 호출되는 메서드에 int 인수를 전달할 수 있기를 원합니다.
선택기 문자열에 추가하면 "인식 할 수없는 선택기"예외가 발생하고 작동이 중단됩니다.
[설정 performSelector : s withObject : ???]; 일할 수 있니? 하지만 BOOL 또는 int, required "id"를 허용하지 않습니다.
정확히 동일한 기능을 가진 각 레벨에 대해 여러 개의 코드 블록이 없도록 숫자를 변경하도록 코드를 작성하려고합니다.
도움이 될 것입니다. 가능하지 않다면 다른 방법이 더 있을까요?
예 : 원시 방법을 사용하여
2)! 이 일이 정말 고마워요. int 값의 경우 [NSNumber numberWithInt :를 사용하여 변환 한 다음 intValue를 사용하여 검색] – RanLearns
int 값의 경우 '@ (someIntValue)'를 사용하여 NSNumber를 만들 수 있습니다. – rmaddy