【问题标题】:Passing values back to DetailViewController将值传回 DetailViewController
【发布时间】:2014-03-05 18:55:18
【问题描述】:

我制作了一个 MasterDetailView 应用程序。在 TableView 中,我有员工列表,在 detailView 中,我有一个欢迎屏幕,其中包含员工详细信息和其他详细信息。当我通过 navigatorController 单击任何员工时,我会调用一个带有表单的视图,其中有一个按钮可以将表单的详细信息上传到服务器。我想在欢迎屏幕中显示上传日期。我将日期保存在 userDefaults 中,但是一旦我返回,我的方法都不会被调用,viewDidlLoad 或 DetailViewController 的 viewDidApper,所以我可以在我的欢迎屏幕中显示上传的日期。请帮助我了解如何将值传递回 DetailViewController。

【问题讨论】:

    标签: ios objective-c xcode uinavigationcontroller master-detail


    【解决方案1】:

    您可以发布 NSNotification。但最好的解决方案是在“带有表单的视图”和“欢迎屏幕”之间建立一个委托关系,这样一个人就可以直接与另一个人对话并将值传回。

    查看 Apple 的“实用程序”项目模板的结构,了解如何在两个视图控制器之间建立委托关系。

    【讨论】:

      【解决方案2】:

      在 MasterDetailView 应用程序中,MasterViewController 始终是 SplitViewController 拥有的第一个视图。

      因此,一种回复方式是:

      YourMasterViewController * yourMasterViewController = (YourMasterViewController*)[[self.splitViewController.viewControllers objectAtIndex:0] topViewController];
      [yourMasterViewController someMethodLikeUploadCompleted];
      

      我用它来让详细视图将消息发送回主视图。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-01-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-07-17
        相关资源
        最近更新 更多