2009-10-11 3 views
0

2 레벨의 탐색 기반 응용 프로그램이 있는데 두 번째 레벨에서는 사용자가 적절한 Nib 파일을 초기화하고로드해야하는 옵션을 선택합니다 (사용 가능한 모든 선택 항목에 Nib 파일이 있음).).사용자 선택에 따라 사용자 정의 클래스 초기화

이제 사용자 선택에 따라 스위치에서 초기화를 수행합니다. 문제는 개발을 진행하면서 Nibs를 추가하는 것이므로 이제는 추가 한 모든 Nib에 대해 스위치 부분을 업데이트해야합니다.

Nib 이름으로 * .plist 파일을 만들고 plist 파일의 값에 따라 Nib를로드하고 싶습니다. nsstring 변수에 값이있는 클래스를 만들지 못했습니다.

내 시도 - Nib 이름 중 하나가 nib name 값과 함께 nsstring입니다.

[코드]

childController = [Nibname ALLOC] initWithNibName : @Nibname 번들 : 닐];

도움이

들으

+0

어떤 언어입니까? – Nifle

답변

0


우리가 여기보기 컨트롤러를 밀어 대해 얘기하고 있기 때문에, 당신은 당신의 'ALLOC'을 일반화하고 사용할 수 이해할 수있을 것이다

[/ 코드] nibname을 사용하여 올바른 펜촉을로드하십시오. 이와 같이 :

// load info from your plist into a dictionary 
    NSString * path= [[NSBundle mainBundle] pathForResource:@"AllNibs" ofType:@"plist"]; 
    NSDictionary * nibs = [NSDictionary dictionaryWithContentsOfFile:path]; 

    // use a value to select the right nib name 
    NSString *selector = @"viewController1"; 
    NSString *nibName = [nibs objectForKey:selector]; 

    // create the view controller from the selected nib name 
    UIViewController *aController = [[UIViewController alloc] initWithNibName:nibName bundle:nil]; 

UIViewController를 서브 클래 싱 했더라도 제공 한 펜촉 이름에서 올바른 클래스를로드합니다.

관련 문제