【问题标题】:How to pass segue data in that case?在这种情况下如何传递 segue 数据?
【发布时间】:2013-07-07 20:42:13
【问题描述】:

我正在使用 SWReveal 库来制作侧栏菜单。现在,我正在尝试在两个不同的视图控制器中实现两个不同的侧边栏菜单。一切正常,除了我在前一个控制器和下一个具有不同菜单的控制器之间传递数据时遇到问题。情况如下:

Reveal View Controller 正在接收来自前一个 VC 的 segue,但是,我想在前一个 VC(在 Reveal View Controller 之前)和 Today Competition DetailsVC 之间传递数据。 那可能吗 ? 感谢您的帮助。

【问题讨论】:

    标签: ios storyboard uistoryboardsegue


    【解决方案1】:

    如果 TodayViewController 没有被实例化,你就无法向它发送任何东西。 您可以通过其他视图控制器发送消息,当其中一个打开 TodayVC 时,将消息发送给它。

    另一种选择是将数据保存在应用程序的 NSUserDefaults 中,稍后再检索它,如下所示——:

    NSString *valueToSave = @"someValue";
    [[NSUserDefaults standardUserDefaults]
        setObject:valueToSave forKey:@"valueName"];
    
    NSString *savedValue = [[NSUserDefaults standardUserDefaults]
        stringForKey:@"valueName"];
    

    【讨论】:

    • 但问题是 Side BarVC 和“导航控制器”都不能拦截数据。在这种情况下,最重要的是导航控制器。
    • 你可以使用 NSNotifications
    • 一个变量是 NSNotifications 就像一个“全局变量”?
    • 这只是一个通知。如果你想使用全局变量,你可以使用 NSUserDefaults,我会编辑我的答案
    • 所以我认为在这种情况下我会更好地使用 NSUserDefaults 而不是 NSNotifications。
    猜你喜欢
    • 2021-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-02
    • 1970-01-01
    • 2021-01-04
    • 1970-01-01
    相关资源
    最近更新 更多