0
코드 행은 완벽하게performSelector가 잘못된 인수를 던지는 이유는 무엇입니까?
[self explodeBomb:obj];
작동하지만 다음 줄로 교체하는 경우, 나는 이유는 알 수없는 선택 인와 더불어, NSInvalidArgument 예외를 얻을. 다음과 같이
[self performSelector:@selector(explodeBomb) withObject:obj ];
방법의 정의는 다음과 같습니다
내가 아는-(void)explodeBomb:(SKNode *)bomb
,이 근본적인 무언가를 이해하지 못하는 나를 수있다. 하지만 문제없이 직접 메서드를 호출 할 수있는 이유는 무엇입니까? performSelector
을 사용하려고하면 불어납니다. 레코드의 경우 obj는 ID로 정의됩니다. 나는 explodeBomb의 서명을 변경하여 ID를 가져 와서 명시 적으로 메소드 내부에 캐스팅하려고 시도했지만 동일한 예외가 발생했습니다. 누구든지 내가 뭘 잘못하고 있는지 알아?
감사를 지정해야하므로 인수를 가지고
explodeBomb
이후비록 객체를 가진 사실이 무효가 아니라고 생각할지라도 그것을 처리 할 것이지만 교훈은 고마워요. – user282172
당신은 오신 것을 환영합니다. :-) – san