我知道这个问题是非常基本的,但作为一个java程序员,我很困惑为什么这个值变成了零?我有UITableView,我试图将选定的行号发送到目标UIViewController。然而,这是即使在prepareForSegue
为什么NSNumber从一个函数变为零到另一个函数?
NSNumber* val;
/*segue*/
- (void)tableView:(UITableView *)tableView
didSelectRowAtIndexPath:(NSIndexPath*)indexPath {
//Perform a segue.
[self performSegueWithIdentifier:@"toInfo"
sender:[items objectAtIndex:indexPath.row]];
val = [[NSNumber alloc] init];
val = [NSNumber numberWithInt:indexPath.row];
NSLog(@"val111 === %@",val); >>>Here prints 2
}
- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
// [self performSegueWithIdentifier:@"toInfo" sender:sender];
NSLog(@"inside segue");
NSLog(@"val222 === %@",val); >>> Here prints null
InfoViewController *vc = [segue destinationViewController];
vc.journeyId = val;
}
因为您在执行完毕后为val指定了值valueIdIndntifier – 2014-09-29 04:50:33