У меня есть приложение 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) в этот момент не отображается.Так что я знаю, что у меня есть правильный переход, он переходит по желанию, я просто не вижу ничего на своем экране.