2009-05-19 3 views

답변

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에서 자세한 내용을 확인하십시오. 시간을 찾으면 몇 가지 코드를 테스트하고 여기에 게시합니다.

+0

안녕하세요 배리, 나는 그것이 실제로 교육적 목적으로 수행 될 수 있는지 궁금합니다. 어떤 생각? – Boon

+0

예, Objective-C 2.0 런타임을 사용하여 로드맵을 추가했습니다. 시간이되면 코드를 작성/테스트하고 게시 할 것입니다. –

관련 문제