Core data 3个UIViewController中的核心数据
这听起来像是一个新手问题,但我有几个应用程序,我被困在同一个概念。我有3个Core data 3个UIViewController中的核心数据,core-data,uiviewcontroller,Core Data,Uiviewcontroller,这听起来像是一个新手问题,但我有几个应用程序,我被困在同一个概念。我有3个UIViewControllers: 第一个是根控制器,它是UITableView(在另一个 应用程序(a集合视图) 第二个是普通UIViewController,显示根控制器中所选项目的详细信息 第三个是编辑控制器,我想在其中编辑此对象的内容,为此我重用了用于添加新对象的相同AddViewController 虽然当我从编辑控制器返回到细节1时,细节仍然显示旧数据,但节省的数据没有错误。在我再次返回根目录之前,它不会
UIViewController
s:
- 第一个是根控制器,它是
(在另一个 应用程序(a集合视图)UITableView
- 第二个是普通
,显示根控制器中所选项目的详细信息UIViewController
- 第三个是编辑控制器,我想在其中编辑此对象的内容,为此我重用了用于添加新对象的相同
AddViewController
任何解决方案都将不胜感激 实现目标的最简单方法是:在编辑控制器中,您需要对详细控制器说“亲爱的详细控制器,我刚刚更新了内容,请刷新!” 怎么做?设置委托或通知(在这两种情况下,详细信息控制器将响应或侦听您的编辑控制器),然后对您感兴趣的数据执行新的请求并更新界面 另外,我认为细节控制器不会更新,因为您已经在其
viewDidLoad
中执行了请求。我错了吗?如果您提供一些代码,我们可以帮助您
希望有帮助 下面是根目录中didselectrow的代码
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
DetailnewViewController *detailViewController = [[DetailnewViewController alloc] initWithNibName:@"DetailnewViewController" bundle:nil];
Card *selectedItem = (Card *)[[self fetchedResultsController] objectAtIndexPath:indexPath];
detailViewController.itcard = selectedItem;
detailViewController.managedObjectContext=self.managedObjectContext;
detailViewController.view.backgroundColor=[UIColor orangeColor];
[self.navigationController pushViewController:detailViewController animated:YES];
[detailViewController release];
[selectedItem release];
}
下面是Detailnewviewcontroller的代码&你说得对,我正在viewdidload中执行请求
- (void)viewDidLoad
{
cardnumberlabel.text=itcard.CardNumber;
namelabel.text=itcard.Name;
phonelabel.text=itcard.phonenumber;
websitelabel.text=itcard.site;
}
感谢您的回复,我将尝试访问视图c的代理。好吧,我的问题在于执行数据的新请求,如何做到这一点?解决了!答案是ViewwillApear,谢谢:)