因此,这是我一直在阅读的一个常见问题,我仍在学习中,请记住这一点。
基本上,我的应用程序当前允许您向表视图中添加一个项目,然后从表视图中选择一个单元格时,它会显示另一个视图控制器,该控制器用于显示该单元格的详细信息。
Diagram
在我的tableView实现文件.m中,我具有单击单元格时转到视图控制器的代码:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
SelectedItemViewController *selectView = [[SelectedItemViewController alloc] initWithNibName:@"SelectedView" bundle:nil];
[selectView.titleView setText:@"test"];
[self performSegueWithIdentifier:@"showSelected" sender:indexPath];
}
我只是测试了“ setText”代码段,以查看是否能够更改ViewCellController中的textLabel。
当用户保存新项目时,这是以下segue代码,当它返回到TableView时将被调用。 “ toDoItem”是一个NSMutableArray。
-(IBAction)unwindToList:(UIStoryboardSegue *)segue {
AddToDoItemViewController* source = [segue sourceViewController];
ToDoItem* item = source.toDoItem;
if (item != nil){
[self.toDoItems addObject:item];
[self.tableView reloadData];
}
}
显然我做错了。
我想了解的是我如何能够:
选择一个单元格,从数组中的该索引中获取数据,而不只是单元格数据,数据包括:标题,说明,到期日期和完成。
在另一个视图控制器中显示它。
操作完成布尔值并保存,以便再次单击时保持该状态。
我不想给出一个完整的答案,只是为了指出正确的方向,以便我自己解决,谢谢!
最佳答案
在您的detailviewcontroller中,您可以将toDoItem设置为弱属性...
实例化detailviewcontroller后,在mainviewcontroller的didselectrow中,可以将其todoitem设置为mainviewcontroller中给定索引路径下的todoitem。
在您的detailviewcontroller中,然后使用mainviewcontroller中的项目
在轻松进行搜索时,您唯一需要做的就是重新加载tableviews数据。
希望你明白我的意思:)
关于ios - 将单元格数组项传递给另一个 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29919568/