2011-05-09 2 views
1

나는 Obj-C를 천천히 가르치고있다. 나는 2 개의 클래스가있는 프로젝트를 가지고 있으며, 각 클래스에는 그와 함께하는 XIB가있다.두 번째 XIB 및 클래스 호출

이 테스트의 용이성을 위해, 그들은

1, 2 명명 된 I 앱이 두 가지가 아닌 한 그 작동에 시작 만들기 위해 PLIST를 변경했습니다.

그래서 클래스와 XIB 모두 괜찮다고 확신합니다.

그래서 하나부터 (ObjC에서 호출 된 모든 것을 보거나) 두 클래스와 함께가는 XIB를 호출하고 싶습니다. 그리고 나는 다시 원로로 가고 싶습니다. 단순한가? 나는 이것을 2 일 동안 엉망으로 만들었지 만 여전히 작동하지는 않는다.

누구든지이 작업을 수행하는 방법을 보여주는 샘플 코드가 있습니까? 이것에 대해 여러 문서를 찾았지만 느낄 수없는 속도로 느려지고 있습니다.

도움 주셔서 감사합니다.


더 많은 정보 : 편집 : BM은

bm *screen = [[[bm alloc] initWithNibName:@"bm" bundle:nil] autorelease]; 

내가 위의 코드를 추가 한 후

2011-05-09 14시 48분이 라인에 오류가 발생했습니다 2 XIB입니다 : 23.242 HW [7265 : 207] * - [bm initWithNibName : bundle :] : 인스턴스로 전송 된 인식 할 수없는 선택자 0x392e820 2011-05-09 14 : 48 : 23.244 HW [7265 : 207] 캐치되지 않은 예외로 인해 앱 종료 ' NSInvalidArgumentException ', rea son : ' ** - [bm initWithNibName : bundle :] : 인식 할 수없는 셀렉터를 인스턴스 0x392e820에 전송'

+0

겠습니까 당신을위한 UINavigationController가 작업에 모두 넣어? –

+0

나는 아직도 내 발을 젖은 채로 무엇이 최선인지 모릅니다. 첫 번째 XIB에는 6 개의 다른 하위 메뉴로 이동하는 단추가 있으며이 하위 메뉴에는 각각 여러 개의 하위 메뉴가 있습니다. 나는이 메뉴들 각각에 대해 XIB를 만들기로되어 있음을 의미한다고 생각합니다 ... –

+0

가장 자주 UIViewController에 XIB를 사용합니다. UIViewController입니까? –

답변

1

이렇게하는 데는 두 가지 방법이 있으며 모두 원하는 모양에 따라 다릅니다. 현재

모달 뷰 컨트롤러와 두 번째보기 :

ViewControllerName *viewController = [[[ViewControllerName alloc] initWithNibName:@"ViewControllerName" bundle:nil] autorelease]; 
[self presentModalViewController:viewController animated:YES]; 

또는 당신이 UIWindow에서보기를 교환 실제로 할 수

UIWindow *window = [[[UIApplication sharedApplication] delegate] window]; 
ViewControllerName *viewController = [[[ViewControllerName alloc] initWithNibName:@"ViewControllerName" bundle:nil] autorelease]; 
window.rootViewController = viewController; 
+0

세부 사항을 당신을 감사하십시오 그러나 나는 나가 이미 이것 같이 무언가를 시도했다는 것을 생각하고 그것 일하지 않는다. 내가 잘못 알고 있지만 무엇을 확신하지 못 하겠는가? 위에 올린 추가 정보를보십시오. –

+0

이상하게 들리지만 코드가 정상적으로 보입니다. bm 서브 클래스 란 무엇입니까? 'UIViewController'? – edc1591

+0

슈팅 방금 하위 클래스가 아니라 클래스로 만들었습니다. 나는 두 클래스와 XIB를 만든 다음 둘 다 루트로 테스트하여 제대로 작동하는지 확인합니다. 그게 문제라고 생각해? –

관련 문제