Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c iOS-在另一个childViewController中更改属性值时在一个childViewController中调用方法_Objective C_Uiviewcontroller_Parent Child_Retain Cycle - Fatal编程技术网

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

Objective c iOS-在另一个childViewController中更改属性值时在一个childViewController中调用方法,objective-c,uiviewcontroller,parent-child,retain-cycle,Objective C,Uiviewcontroller,Parent Child,Retain Cycle,我有两个同一父对象的ChildViewController,比如methodChild和propertyChild,希望每次在propertyChild的一个属性中设置新值时调用methodChild中的方法。做这件事的好方法是什么 我想到的一个解决方案是: 在属性设置器中,找到另一个子项(可能通过parentViewController方法和ChildViewController数组)并要求它执行该方法 我对这类事情的主要担忧是意外地创建了一个保留周期或某种内存泄漏,所以任何关于这方面的建

我有两个同一父对象的ChildViewController,比如
methodChild
propertyChild
,希望每次在
propertyChild
的一个属性中设置新值时调用
methodChild
中的方法。做这件事的好方法是什么

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

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

我对这类事情的主要担忧是意外地创建了一个保留周期或某种内存泄漏,所以任何关于这方面的建议都是非常好的。谢谢你的阅读

父级可以保存引用并跟踪更改的数据。它可以简单地调用其子级的公开更新方法

子控制器应使用委托协议通知父控制器更改。委托是弱的引用,其形式为
id
。这是为了避免您担心的保留周期问题