我是iOS,Objective-C的新手,之前只做了一小部分OO编程,但却享受了尝试创建这个应用程序的挑战。
应用摘要: 我有一个视图,它只是一个将信息输入核心数据数据库的表格,例如。姓名,地址和电话。然后是另一个包含表视图的视图,该视图列出了当前数据库中所有人的名字。
然而,这就是我被困的地方......
我创建了一个详细的视图,以便当用户选择表格单元格时,详细视图会加载,但我想将数据从Core Data恢复回原来输入数据的格式,以便对其进行修改/编辑,重新保存回核心数据。
这样做的最佳实践是什么?
我需要将一些数据传递给详细视图,该视图知道该怎么做,但我应该通过什么?如何告知详细视图我希望加载Core Data数据库中的哪一行数据?
我是否传递tableview indexPath.row值?这对应于我在加载详细视图时可以在CoreData中过滤掉的任何内容吗?
提前感谢任何回复的人,感谢任何从方法到在线投票的帮助
马特
答案 0 :(得分:1)
我认为您可以在此处查看Apple示例代码:CoreRecipes sample code
答案 1 :(得分:0)
按照TheRonin的建议,从CoreRecipes示例代码中挑选出来,我做了以下几点。
在DetailedViewController上创建一个Core-Data DataModel对象的iVar
DataStore *enquiry;
在didSelectRowAtIndex设置Core-Data DataModel对象和详细视图控制器下的tableview视图中,
DataStore *enquiry = (DataStore *)[_fetchedResultsController objectAtIndexPath:indexPath];
ShowEnquiryDetail *detailViewController = [[ShowEnquiryDetail alloc] initWithNibName:@"ShowEnquiryDetail" bundle:nil ];
在DetailedViewController中设置数据模型对象
detailViewController.enquiry = enquiry;
然后将DetailedViewController推送到导航堆栈。
[self.navigationController pushViewController:detailViewController animated:YES];
然后在DetailedViewController上,您可以使用enquiry.name,enquiry.email等从Core-Data中的选定行访问DataModel对象中的数据......
这不是一个写得很好的答案,可能会使用不正确的术语,但希望它可以帮助我处于相同位置的人。