【发布时间】:2015-08-09 08:18:16
【问题描述】:
有两个视图控制器。一个用于添加项目,另一个用于显示(表格视图)。所有项目都存储在 NSMutableArray 中。但是每次我放松以添加项目时,当我回到表格视图时,只剩下最新的项目了。
代码:
- (void)viewDidLoad {
[super viewDidLoad];
[self addData];
}
- (void)addData {
if (!self.items) {
self.items = [[NSMutableArray alloc] init];
}
[self.items addObject:self.textFromFirst];
}
// textFormFirst is an NSString which received from the previous view controller
添加视图控制器
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
UINavigationController *nav = [segue destinationViewController];
SecondController *second = [nav.viewControllers objectAtIndex:0];
second.textFromFirst = [self getText]; // get inputed string
self.aTextField.text = @"";
}
【问题讨论】:
-
请添加启动 AddViewController 的代码
-
展示你的故事板。你是如何“放松”的?
-
每次进行导航时,都会创建一个新的 NSMutablearray。
-
@MuhammadWaqasBhati 你能告诉我正确的方法吗?
-
那是因为你总是从一个全新的视图控制器实例开始。如果您需要持久化数据,请将其存储在外部(保存到磁盘,存储在 NSUserDefaults,静态变量,......任何最适合您的意图)
标签: ios objective-c