【发布时间】:2011-04-13 21:15:50
【问题描述】:
我试图更好地理解 UINavigationController。我有 3 个 .xib。从.xib1 我推到.xib2。我必须将数据从 .xib1 传递到 .xib2。
Controller1 *selectcity = [[Controller1 alloc]initWithNibName:@"Controller1" bundle:nil];
selectcity.item1 = @"hi";
// Push the next view onto our stack
[self.navigationController pushViewController:selectcity animated:YES];
[selectcity release];
每次打开该视图时,我都需要将一些数据传递给 .xib2。每次用户在表格中选择一行时,将一个新视图推送到堆栈上,然后按返回,选择一行,返回,选择一行,返回非常快速地创建一个 memoryWarning 并杀死应用程序。
如果我将视图添加为属性并检查它是否已经存在,
if (xib2 == nil) {
}
viewDidLoad 方法仅在第一次调用视图时被调用,因此我无法将数据传递给表单。
我不能使用 viewDidAppear 等,因为我不想从 .xib3 返回时加载数据。
在这种情况下控制内存的正确方法是什么?每次他们按下后退按钮时,我应该从堆栈中弹出 xib2 吗?是这样的,我会用什么方法呢?
感谢您的帮助!
【问题讨论】:
标签: iphone view uinavigationcontroller