iOS - 在另一个中更改属性值时,在一个childViewController中调用方法

时间:2013-09-07 22:12:41

标签: objective-c uiviewcontroller parent-child retain-cycle

我有两个同一父级的childViewControllers,比如methodChildpropertyChild,并希望每次在{{methodChild中设置一个新值时调用propertyChild中的方法1}}的属性。有什么好办法呢?

我遇到的一个解决方案是:

  • 在属性设置器中,找到另一个子节点(可能通过parentViewController方法和childViewControllers数组)并要求它执行该方法。

我对此类事情的主要担心是意外地创建了某种保留周期或内存泄漏,所以对此的任何建议都会非常棒。谢谢你的阅读!

1 个答案:

答案 0 :(得分:0)

父母可以保留引用并跟踪更改的数据。它可以简单地调用其子项的暴露更新方法。

子控制器应使用委托协议来通知父级更改。委托是{strong>弱对id <ChildDelegate>形式的父级的引用。这是为了避免您担心的保留周期问题。