보기 컨트롤러를 등록 취소하고 프로토콜에 등록하는 적절한 방법이 있습니까?런타임시 프로토콜 등록/등록 취소 방법은 무엇입니까?
2
A
답변
3
공식적 프로토콜을 준수하려면 이 경우 제 4 인수 인 class_addMethod()
)는를 참조하십시오. 10 추가 정보.
1
당신은 런타임에 클래스에 프로토콜을 추가하기 위해 오브젝티브 C 런타임 방법
BOOL class_addProtocol(Class cls, Protocol *protocol)
를 사용할 수 있지만 내가 아는 한 당신은 그것을 제거 할 수 없습니다. (
// - (int)someMethod:(int)arg;
int someMethod(id self, SEL _cmd, int arg)
{
return arg * 2;
}
class_addMethod([MyViewController class], @selector(someMethod:), (IMP)someMethod, "[email protected]:i");
메소드 서명을주의 :
class_addProtocol([MyViewController class], @protocol(SomeProtocol));
더욱 동적 :
class_addProtocol(objc_getClass("MyViewController"), objc_getProtocol("SomeProtocol"));
실제로 클래스에 메소드 구현을 추가하려면
관련 문제
- 1. 런타임시 WebLogic 웹 서비스 URL/프로토콜
- 2. 런타임시 CurrentCulture를 변경하는 방법은 무엇입니까?
- 3. 런타임시 route를 제거하는 방법은 무엇입니까?
- 4. 런타임시 DataTemplate을 만드는 방법은 무엇입니까?
- 5. 런타임시 CIFilter를 컴파일하는 방법은 무엇입니까?
- 6. 런타임시 '합계'조건을 변경하는 방법은 무엇입니까?
- 7. 런타임시 jre를 선택하는 방법은 무엇입니까?
- 8. 런타임시 DLL을 참조하는 방법은 무엇입니까?
- 9. 런타임시 jtable을 업데이트하는 방법은 무엇입니까?
- 10. 런타임시 패키지를 만드는 방법은 무엇입니까?
- 11. 런타임시 bitmapfield를 추가하는 방법은 무엇입니까?
- 12. 런타임시 AndroidManifest를 변경하는 방법은 무엇입니까?
- 13. 맞춤 프로토콜 처리 방법은 무엇입니까?
- 14. 취소 버튼 이벤트를받는 방법은 무엇입니까?
- 15. 클릭을 취소 취소하는 방법은 무엇입니까?
- 16. 런타임시 이진 이미지 아키텍처를 결정하는 방법은 무엇입니까?
- 17. 런타임시 init 매개 변수를 변경하는 방법은 무엇입니까?
- 18. Java에서 런타임시 일반 클래스를 생성하는 방법은 무엇입니까?
- 19. 런타임시 MEF 플러그인을 제거하는 방법은 무엇입니까?
- 20. 런타임시 LinearLayout의 크기를 변경하는 방법은 무엇입니까?
- 21. 런타임시 javascript 코드를 html 파일로로드하는 방법은 무엇입니까?
- 22. 런타임시 JXTable에 새 행을 추가하는 방법은 무엇입니까?
- 23. 런타임시 slf4j 레벨을 변경하는 방법은 무엇입니까?
- 24. 런타임시 wpf에서 xmldataprovider 소스를 변경하는 방법은 무엇입니까?
- 25. 런타임시 웹보기의 높이를 변경하는 방법은 무엇입니까?
- 26. 런타임시 클래스 정의를 변경하는 방법은 무엇입니까?
- 27. 런타임시 Xul 요소의 불투명도를 변경하는 방법은 무엇입니까?
- 28. 런타임시 com.arjuna.ats.jbossatx.jta.TransactionManagerService TransactionTimeout의 값을 변경하는 방법은 무엇입니까?
- 29. 런타임시 java.net.preferIPv4Stack = true로 설정하는 방법은 무엇입니까?
- 30. 런타임시 모든 PRISM 모듈을로드하는 방법은 무엇입니까?