iOS 5 Черный экран после Segue - PullRequest
3 голосов
/ 20 января 2012

У меня есть приложение iOS 5 с раскадровкой и двумя сценами.Сцена 1 - это список выбора, в то время как Сцена 2 показывает детали для каждого выбора

В сцене 1 мне нужно передать переменную, и я делаю это с помощью:

//Handles the selection 
-(void)tableView:(UITableView *)tableView accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath
{
    Guests *myGuests =[guestList objectAtIndex:[indexPath row]];

    selectedGuest = [[NSString alloc] initWithFormat:@"You have selected %@", myGuests.guestID];

    [self performSegueWithIdentifier:@"TGG" sender:self];
}

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
    if([[segue identifier] isEqualToString:@"TGG"]){
        GuestDetailsViewController *vc = [segue destinationViewController];
        [vc setGuestSelected:selectedGuest];
    }
}

В сцене 2 (подробности)Я использую это, чтобы убедиться, что правильная переменная была получена следующим образом:

// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad
{
    NSString *msg = [[NSString alloc] initWithFormat:@"You have selected %@", guestSelected];
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Selection" message:msg delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
    [alert show];          

     nameCell.textLabel.text= msg;

    [super viewDidLoad];
}

Все это прекрасно работает, и в окне предупреждения отображается правильная переменная, и происходит переход к новой сцене.ОДНАКО окно предупреждения отображает в общей сложности 5 раз снова и снова, и после завершения все окно становится черным.Ничего из моей сцены (сцена 2) в этот момент не отображается.Так что я знаю, что у меня есть правильный переход, он переходит по желанию, я просто не вижу ничего на своем экране.

1 Ответ

12 голосов
/ 20 января 2012

Я столкнулся с ситуацией, очень похожей. я случайно откомментировал метод:

-(void)loadView

i поверьте этот метод переопределяет интерфейс IB и создает его из этого кода. убедитесь, что оно удалено или закомментировано ИМХО.

...