클래스를 동적으로 서브 클래스 (NSString이라고 함)로 만들고 테스트 목적으로 해당 서브 클래스를 인스턴스화하려고합니다. Objective C에서 어떻게 할 수 있습니까?클래스를 동적으로 서브 클래스 화하고 Objective C에서 서브 클래스를 인스턴스화하는 방법은 무엇입니까?
1
A
답변
1
나는 당신이하고자하는 것을 할 필요가 없다고 생각하지만, 더 구체적인 내용이 없으면 확실하게 알 수는 없습니다. Objective-C는 런타임에 언어이므로 테스트 목적으로 하위 클래스를 만드는 것은 거의 필요하지 않습니다. 대신 class categories을 살펴 보거나 id
유형의 매개 변수를 사용하거나 프로토콜을 준수하는 테스트 더블 (스텁, 가짜 또는 모의)을 전달할 수 있도록 재 설계를 고려하십시오.
objc_allocateClassPair(Class superclass, const char *name, size_t extraBytes)
을 사용하여 새 클래스를 할당 할 수 있습니다. class_addMethod(Class cls, SEL name, IMP imp, const char *types)
및 class_addIvar(Class cls, const char *name, size_t size, uint8_t alignment, const char *types)
인 ivars를 사용하여 메소드를 추가 할 수 있습니다. 마지막으로 objc_registerClassPair(Class cls)
을 사용하여 새 클래스를 등록해야합니다. Objective-C 2.0 Runtime Reference에서 자세한 내용을 확인하십시오. 시간을 찾으면 몇 가지 코드를 테스트하고 여기에 게시합니다.
관련 문제
- 1. 서브 클래스를 동적으로 생성하십시오. iphone
- 2. 액션 : 스테이지에 자신을 추가하는 Sprite 서브 클래스를 인스턴스화하는 방법은 무엇입니까?
- 3. XML을 클래스, 서브 클래스 및 속성으로 서브 클래스를 만들고 서브 클래스를 null로 만들지 마십시오.
- 4. Objective-C에서 클래스를 동적으로로드하는 방법은 무엇입니까?
- 5. Obj-C에서 주어진 클래스의 서브 클래스를 발견하십시오
- 6. 서브 클래스를 삭제하고 부모도 삭제합니다.
- 7. 액션 스크립트의 서브 클래스를 오버라이드
- 8. Jquery는 서브 클래스와 클래스를 정렬합니다
- 9. 서브 클래스/수퍼 클래스 Objective-C
- 10. 템플릿 서브 클래스를 반환 중
- 11. 추가 방법으로 Ocaml 서브 클래스를 만드는 올바른 방법은 무엇입니까? OCaml의에서
- 12. Java에서 Socket 클래스를 인스턴스화하는 방법은 무엇입니까?
- 13. Python : 루프에서 Player 클래스를 동적으로 인스턴스화하는 가장 좋은 방법은 무엇입니까?
- 14. Objective-C에서 string의 클래스 객체를 인스턴스화하는 방법은 무엇입니까?
- 15. Objective-C : 서브 클래스의 호출 클래스 메소드
- 16. Objective-C로 서브 클래스 Cocos2D MenuItem
- 17. dict를 적절히 서브 클래스 화하고 __getitem__ 및 __setitem__을 재정의하는 방법
- 18. objective-c 클래스 (NSObject 서브 클래스)
- 19. Rhino에서 내부 (정적) 클래스를 서브 클래 싱하는 방법은 무엇입니까?
- 20. 고유 클래스를 매핑하고 값에서 서브 클래스를 추출하는 C++
- 21. 서브 클래 싱 된 다른 추상 클래스를 가진 추상 클래스를 서브 클래스화할 수 있습니까? (C#)
- 22. Haskell에서 클래스를 올바르게 인스턴스화하는 방법은 무엇입니까?
- 23. 컨트롤러에서 IRepository 클래스를 인스턴스화하는 올바른 방법은 무엇입니까?
- 24. NHibernate 질의가 서브 클래스를 반환하지 않게하려면 어떻게해야합니까?
- 25. 서브 서브 클래스를 <style> 안에 지정할 수 있습니까?
- 26. Hibernate를 사용하여 서브 클래스를 수퍼 클래스로 유지
- 27. 비 템플릿 클래스 서브 클래스에 템플릿 클래스를 포함시킬 수 있습니까?
- 28. Java에서 조건부로 getType을 사용하여 서브 클래스를 테스트하십시오.
- 29. @Resource 주석이 서브 클래스를 삽입하지 않습니다.
- 30. Java 서브 클래스 $
안녕하세요 배리, 나는 그것이 실제로 교육적 목적으로 수행 될 수 있는지 궁금합니다. 어떤 생각? – Boon
예, Objective-C 2.0 런타임을 사용하여 로드맵을 추가했습니다. 시간이되면 코드를 작성/테스트하고 게시 할 것입니다. –