【问题标题】:Pass data between Tabbar with protocol and delegate使用协议和委托在 Tabbar 之间传递数据
【发布时间】:2016-08-25 12:20:51
【问题描述】:

是否可以使用协议和委托在我的选项卡(视图控制器)之间传递数据? (我知道如何通过标签栏之间的通知中心轻松传递数据,并且我知道如何使用协议和委托将数据“回传”给其他 VC)

我正在尽量减少 NSNotification 中心的使用,因为它们有点乱。这就是为什么我认为协议会更好

例如,

我有一个用于发布帖子的选项卡 (PostTab) 和一个用于显示帖子的选项卡 (DisplayTab)。当 postTab 发帖时,允许 DisplayTab 有一个名为

的委托函数
func postAdded(post: Post) { //Display post } 

post 是从 PostTab 传递过来的。

【问题讨论】:

    标签: ios swift uitabbarcontroller


    【解决方案1】:

    如果我可以建议:

    1.选项:

    我输入的非常简单——可能是更简单的方式,所以:

    进入您的 PostTab 控制器,进入您准备好接收来自用户的数据的行:

    let index = 1 //you know a real index of our displayTab controller
    let displayTabViewController = self.tabBarController?.viewControllers?[index] as! DisplayTabViewController        
    displayTabViewController.postAdded(post: POST)
    

    并将其放入您的 DisplayTab 控制器中:

    func postAdded(post: Post)
    {
        print("This is the: \(post)")
    }
    

    2。选项:

    使用 AppDelegate 作为委托或制作您自己的委托。

    【讨论】:

      【解决方案2】:

      不是开箱即用的,因为没有支持共享任意数据的协议。你必须实现你自己的协议。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-12-07
        • 2023-04-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-03-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多