Objective c didSelectRowAtIndexPath在VIEWDID加载被调用视图后被调用

Objective c didSelectRowAtIndexPath在VIEWDID加载被调用视图后被调用,objective-c,ios,xcode,Objective C,Ios,Xcode,可能重复: 我试图将变量传递给新视图。我有以下代码: appDelegate *dataCenter = (AppDelegate*)[[UIApplication sharedApplication] delegate]; dataCenter.myVariable = [array objectAtIndex:indexPath.row]; 在 didSelectRowAtIndexPath 调用视图的属性。但是,我遇到的问题是,这个变量在下一个视图的vewDidLoad函数中为空,

可能重复:

我试图将变量传递给新视图。我有以下代码:

appDelegate *dataCenter = (AppDelegate*)[[UIApplication sharedApplication] delegate];

dataCenter.myVariable = [array objectAtIndex:indexPath.row];

didSelectRowAtIndexPath
调用视图的属性。但是,我遇到的问题是,这个变量在下一个视图的vewDidLoad函数中为空,这仅仅是因为它在调用视图的didSelectRowAtIndexPath之前触发。我正在使用故事板将视图链接在一起。两者都是UITableView

如果我回击然后重新选择table元素,那么它将被设置,并且在我回击然后再次选择时,变量已被设置。有没有办法确定执行的顺序?我真的不想在后端进行UI视图切换


非常感谢您的帮助

如何将数据保存到DidSelectRowatineXpath的NSUserDefaults 然后在viewDidLoad从NSUserDefaults读取保存的数据

-(void) didSelectRowAtIndexPath {
    NSUserDefaults *infoSaved = [NSUserDefaults standardUserDefaults];
    [infoSaved setObject:myVariable forKey:@"myvariable"];
    [infoSaved:synchronize];

    // then call the new view to load
}
在加载的新视图中:

-(void) viewDidLoad {
    NSUserDefaults *infoSaved = [NSUserDefaults standardUserDefaults];
    myVariable = [infoSaved objectForKey:@"myvariable"];

    // and use your variable
}

希望有帮助

这个问题已经得到了回答。请参阅可能重复的部分。我会把这个放在这里,以防它帮助别人找到正确的答案(如果你的搜索引导你到这里)。请投票结束这个问题。