vargs 매개 변수 목록을 포함하는 메서드에서 선택기를 호출하고 싶습니다. 선택기에 매개 변수 수의 변수를 동적으로 제공하는 방법이 있습니까?가변 인수를 선택기에 전달
2
A
답변
2
불행히도 performSelector
을 사용하는 경우 여러 매개 변수를 전달하는 유일한 방법은 NSArray 또는 NSDictionary 등을 전달하는 것입니다. 그런 다음 새 매개 변수 저장 객체를 허용하도록 수신 메소드의 생성자를 변경해야합니다.
또는 NSInvocation을 사용할 수 있습니다.
+2
"performSelector에 1 또는 2 매개 변수를 전달하면 누구에게나 충분해야합니다."-Steve Jobs, 1996 – Brian
1
매개 변수 개수를 지정할 수있는 NSMutableDictionary를 전달할 수 있습니다.
관련 문제
- 1. 가변 수의 인수를 perl 스크립트의 함수로 전달
- 2. IPhone의 선택기에 인수 전달
- 3. 가변 인수 전달
- 4. 가변 인수 목록 전달
- 5. 인수를 전달
- 6. 가변 길이 인수를 기대하는 다른 함수에 전달 하시겠습니까?
- 7. 배열 선언없이 PHP에서 가변 인수를 하나의 배열로 전달
- 8. 가변 크기 형식 전달
- 9. 가변 인수 목록 전달
- 10. Android : 인수를 스레드에 전달
- 11. 인수를 객체로 전달
- 12. 인수를 블록에 전달 하시겠습니까?
- 13. 스칼라에서 다른 인수를 추가하는 동안 가변 인수를 전달하는 방법은 무엇입니까?
- 14. js에서 인수를 별도의 매개 변수로 전달
- 15. ObjectiveC에서 가변 인수 전송/전달
- 16. 가변 개수의 템플릿 인수를 선언하는 방법은 무엇입니까?
- 17. 가변 인수를 조작하는 표준 방법은 무엇입니까?
- 18. 가변 인수를 사용하는 메서드에서 캐스팅 경고
- 19. 가변 인수를 사용하여 메소드 호출 위임
- 20. F #에서 가변 인수를 구현하는 방법
- 21. Silverstripe 템플릿 함수에 가변 인수를 삽입 하시겠습니까?
- 22. 가변 인수를 다른 메소드에 전달하는 방법은 무엇입니까?
- 23. 가변 개수의 인수를 사용하는 함수 호출
- 24. Raphael customAttributes 메서드에 인수를 전달
- 25. eclipse에서 함수에 인수를 전달 하시겠습니까?
- 26. C에서 어셈블리로 인수를 전달 하시겠습니까?
- 27. 인수를 내부 함수에 전달 Matlab
- 28. const 인수를 함수 인수로 전달
- 29. 가변 길이 인수 목록 - 마지막 인수를 검색하는 방법을 이해하는 방법?
- 30. 변수를 가변 길이 입력 인수로 전달 변수
나는 당신이 의미하는 것을 정확히 이해하는 데 어려움을 겪고 있습니다. 'va_list' 매개 변수를 가진 메소드 안에서, 당신은 a)'va_list'를 취하는 다른 메소드를 호출하고 싶습니까? 2)'performSelector :'또는 유사한 것을'va_list'를 취하는 다른 메소드의 선택 자로 사용합니까? 4)? 'NSInvocation'은 아마 답 일지 모르겠지만 좀 더 명확한 질문으로 좀더 상세한 해결책을 제공하는 것이 더 쉬울 것입니다. –
나는 선택자를 수행하기 위해 이미 가변 인자 목록을 전달할 수 있다고 생각했지만, 그렇게 할 수는 없다고 생각합니다. 단 3 개 옵션 (0 개 매개 변수, 1 개 매개 변수 또는 2 개 매개 변수)이있는 것 같습니다. 이 경우, 가장 현명한 선택은 두 가지 오버로드 된 메소드를 제공 한 다음 다른 경우에 대해 사전을 사용하는 것입니다. – Brian
아마도'objc_msgSend()'를 찾고 계십니까? –