iOS Objective-C 如何在运行时获取一个对象?
巴扎黑
巴扎黑 2017-04-17 17:52:58
0
1
311

比如我有两个view,view1和view2,view2在view1中的一个container里。

当显示viw1时,view2也是同时显示的。

当程序运行到view1时,我如何在view2的view controller中获取view1的对象呢?

实际上我是在view1中有一个操作,需要view2(tableview)来更新数据,所以想要view2做view1的代理,这个时候需要在view2中获取正在运行的view1对象。

巴扎黑
巴扎黑

Antworte allen(1)
Peter_Zhu
  1. 可以给 view 设置 tag,然后需要的时候用 viewWithTag 来查找 - 不推荐这样做,太隐晦, 也容易出错,而且查找效率也不高。

  2. 如果你在 controller 里需要访问某个 view,就应该把它连出来,保存一个引用在 controller 里 - 正常来说的话, 应该这么做。

  3. 根据你的需求,让 view2 做 view1 的代理是不合适的,view 应当只负责显示以及接受用户的操作,操作完成之后需要什么后续的行为,应该是 controller 的责任,或者可以使用 MVVM,view 绑定到 viewModel 上,当用户进行了什么操作之后,更新相应的 viewModel,另外一边的 view 监听到 viewModel 的变化好,做出相应的响应。

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage