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

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

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

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

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

巴扎黑
巴扎黑

全部回覆(1)
Peter_Zhu
  1. 可以為 view 設定 tag,然後需要的時候用 viewWithTag 來查找 - 不建議這樣做,太隱晦, 也容易出錯,而且查找效率也不高。

  2. 如果你在 controller 裡需要訪問某個 view,就應該把它連出來,保存一個引用在 controller 裡 - 正常來說的話, 應該這麼做。

  3. 根據你的需求,讓view2 做view1 的代理是不合適的,view 應當只負責顯示以及接受用戶的操作,操作完成之後需要什麼後續的行為,應該是controller 的責任,或者可以使用MVVM,view綁定到viewModel 上,當使用者進行了什麼操作之後,更新對應的viewModel,另外一邊的view 監聽到viewModel 的變化好,做出相應的回應。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板