2012-06-18 15 views
0

나는 여기에 간단한 것을 놓치고 있어야한다고 생각하지만, 나는 그것이 무엇인지 알 수 없다.segue가 segue 식별자를 인식하지 못함

동일한 viewcontroller에서 여러 개의 segues를 지원해야하므로 자연스럽게 segue 식별자를 사용하고 싶습니다. 다음과 같이

이 코드 :

2012-06-17 22:32:06.921 RubiconMobile[26943:f803] segue identifier = createBuildSegue 
2012-06-17 22:32:06.922 RubiconMobile[26943:f803] segueID = createBuildSegue 

이 그렇지 않은 : 여기

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

    NSString *segueID = @"createBuildSegue"; 

    if (segue.identifier == @"createBuildSegue") { 
     UINavigationController *navController = segue.destinationViewController; 
     CreateBuildTableViewController *rootController = [navController.viewControllers objectAtIndex:0]; 
     [rootController setOptionsDictionary:[[DataManager sharedDataManager]optionsDictionary]]; 

     NSLog(@"Worked"); 
    } 
    NSLog(@"segue identifier = %@", segue.identifier); 
    NSLog(@"segueID = %@", segueID); 

} 

콘솔의 출력입니다 내 코드가 어떤 이유로 작동하지 않습니다, 저가 당신에게 예를 보자 일을하고 왜 그럴 수 없지. 나를 도청 realllly

어떤 아이디어?

감사합니다.

답변

5

이 아닌 ==을 사용하여 문자열을 비교하십시오. 후자는 포인터 평등을 검사합니다. 전자는 문자열이 실제로 같은 문자열인지 확인합니다.

if ([segue.identifier isEqualToString: @"createBuildSegue"]) 
관련 문제