2010-06-17 5 views

답변

3

예, 프로세스에 대한 설명서가 있지만 존재하지 않을 수도있는 클래스를 인스턴스화하려면 먼저 테스트해야합니다.

NSClassFromString을 사용하면 클래스없이 3.x에서 실행 중이면 null을 반환하고 나중에 OS에서 실행되는 동안 클래스가 있으면 새 인스턴스를 할당하는 데 사용할 수있는 클래스를 반환합니다. 이렇게하면 3.x 코드로 테스트하고 폴백 할 수 있으며 가능한 경우 4.x 클래스와 기능을 사용할 수 있습니다.

또한 새로운 (4.x) 라이브러리에 대해 컴파일하면서 타겟 OS를 낮게 (3.x) 설정하여 컴파일 타임 경고없이 코드에 새 클래스를 캐스팅 할 수 있도록하십시오. 새 API를 사용하거나 API의 변화를 지원하려면, 당신은

respondsToSelector를 사용하는 방법이 있는지 테스트하고 선택적 등 performSelector를 통해 방법을 발사 할 수

이 많은 다른 경우가 있지만 아이디어가 회전 대상 OS를 설정하고 런타임 이벤트를 테스트하여 나중에 OS에서만 사용할 수있는 기능을 사용하지 않거나 피할 수 있습니다.

예를 들어 UILocalNotification 클래스의 존재 여부를 확인한 다음 사용 가능한 경우 버튼을 툴바가 존재하지 않는다면 실행시에 충돌하는 코드를 피할 수 있습니다.

관련 문제