【问题标题】:How to refresh parentViewContoller from childViewContoller in swift?如何快速从 childViewContoller 刷新 parentViewContoller?
【发布时间】:2019-10-18 21:21:02
【问题描述】:

我将XLPagerTabStrip 用于TabBar Refer

现在我正在 childViewController 中执行一些功能,基于我需要将该值更新为父 ViewController 中的 UILabel

例如: 我正在获取childviewcontroller 中的值,现在我想更新parentviewcontroller 中的值,如下面的屏幕截图中所述。

【问题讨论】:

  • 你试过使用委托模式吗?
  • 使用 NotificationCenter 更新值
  • 不要使用 NotificationCenter 向整个应用程序发布通知,只是为了让子级将数据传递给其父级。孩子应该通过亲密的1:1关系与父母沟通。 parentViewController 是所有视图控制器的实例属性,默认为 nil(你可以猜到它什么时候不是 nil)。代表模式也是为这些时刻而设计的。

标签: ios swift xlpagertabstrip


【解决方案1】:

如果您不想使用委托,那么这里是其他解决方案 CallBack

在子视图控制器中创建如下回调函数

var callback: ((_ count: Int) -> Void)?

当你需要更新父数据时使用它

callback?(5)

当您设置子视图控制器或创建子视图实例时,在父视图控制器中编写以下代码。

    childVC.callback = { (count) -> Void in
        print(count)
        //update your cart label count
    }

【讨论】:

    猜你喜欢
    • 2016-12-06
    • 1970-01-01
    • 2015-06-29
    • 2022-03-17
    • 1970-01-01
    • 2015-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多