2013-02-26 2 views
1

내 응용 프로그램은 ECSlidingViewController을 사용하지 않는보기로 시작한 다음 다른 사람에게 버튼을 사용합니다.ECSlidingViewController 처음보기가 아닙니다.

Storyboard Segue을 사용하여보기를 전환하는 중에 오류가 발생합니다.

ECSlidingViewController을 제대로로드하려면 btnGoSecondView에 무엇을 추가해야합니까?


코드 :

-(IBAction)btnGoSecondView:(id)sender { 
    [self performSegueWithIdentifier:@"SecondViewShow" sender:self]; 
} 

enter image description here


오류 :

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[__NSArrayM insertObject:atIndex:]: object cannot be nil' 

답변

0

난 당신이해야 생각 일부 초기보기 먼저, 그리고 그보기를 초기보기 컨트롤러가되고 모든 각보기 컨트롤러에 대한 식별자를 확인하십시오.

이 같은 .. =

self.viewcontroller [스토리 보드 instantiateViewControllerWithIdentifier : "홈"@]

+0

내가 InitialView에서 내 SecondView를로드 할 나타내는 경우이, 완벽하게 작동 하. 하지만 FristView부터 'segue'를 사용하여 전환하면 작동하지 않습니다. 'btnGoSecondView'에서 제대로 작동하려면 어떤 아이디어가 필요합니까? –

+0

내 제안은 오류가 있기 때문에 menucontroller에 배열, "(void) awakeFromNib"라는 배열에 대한 menucontroller, 그래서 당신은 "NSArray arrayWithObjects"같은 viewcontroller 줄해야합니다 – discodisky

0

오류가 발생하여 개체가 변경 가능한 배열에 삽입하려고 시도하지만 초기화되지 않았습니다. 코드에서 예외가 어디에서 발생합니까?

어레이가 액세스되는 위치와 null 인 이유를 찾아보십시오. NSMutableArray가 초기화되지 않은 경우 초기화 할 필요가 있습니다.

NSMutableArray *arrayName = [NSMutableArray new]; 

또 다른 생각 : ECSlidingViewController가 제시되기 전에 나는 topViewController를 설정해야한다고 생각합니다. -prepareForSegue : sender : 또는 viewController의 viewDidLoad에 추가 할 수 있습니다. 아마도 이런

뭔가 :

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { 

    ECSlidingViewController *slidingViewController = (ECSlidingViewController *)segue.destinationViewController; 
    slidingViewController.topViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"FirstTop"]; 
} 
관련 문제