我的一個視圖控制器有幾個UISwitch,我希望另一個視圖Controller能夠訪問If /和UISwitches的值。我如何在Objective-c中做到這一點?在視圖控制器之間進行通信
1
A
回答
0
你可能不想這樣做。如果您希望第二個ViewController根據第一個拋出的開關具有不同的行爲,您應該將開關綁定到用戶默認值,您可以在應用程序的任何位置讀取它們。
1
這是一個壞主意,因爲它會創建視圖控制器之間的不必要的依賴。
如果您仍想這樣做,只需將第一個視圖控制器的參考與開關傳遞到第二個視圖控制器。然後,在您的第二個視圖控制器中訪問相應的UISwitch的on
屬性。
但是,我強烈建議您創建一個自定義類來保存每個UISwitch的布爾狀態,而不是走這條路線。該類的一個實例可以是單例,也可以包含在應用程序委託中。請參閱answer這兩種方法。
自定義類更好,因爲UISwitch只是表示數據模型中某些屬性的一種方法。如果明天你用另一種奇特的控制替代了UISwitch,第二個視圖控制器應該仍然可以繼續工作。兩個視圖控制器都有一個對這個自定義類的對象的引用。每當有變化時,第一個控制器都會更新這個對象。
類的接口可能是這樣的:
@interface DataValues : NSObject {
BOOL first;
BOOL second;
BOOL third;
}
@property BOOL first;
@property BOOL second;
@property BOOL third;
相關問題
- 1. emberjs如何在控制器和視圖之間進行通信?
- 2. 視圖控制器之間的通信
- 3. 如何使用委託在2個視圖控制器之間進行通信?
- 4. IOS Swift,代表在兩個視圖控制器之間進行通信
- 5. 如何在角度DART控制器之間進行通信
- 6. angularjs:使用服務在控制器之間進行通信
- 7. 如何在Ember.js中的控制器之間進行通信
- 8. 我想知道如何在控制器之間進行通信
- 9. 兩個控制器之間在angularjs中進行通信1
- 10. ScrollView中的子視圖控制器和Superview控制器之間的通信
- 11. mvc中視圖和控制器之間的通信3
- 12. 集裝箱視圖控制器之間的通信
- 13. UISplitViewController中兩個視圖控制器之間的通信
- 14. iphone - 在segue後與之前的視圖控制器進行通信
- 15. 在控制器和視圖之間進行修改的實體
- 16. 主視圖控制器 - >詳細視圖控制器通信
- 17. 在同一視圖的視圖之間進行iOS切換控制器
- 18. UIContainerViewController控制器之間的通信
- 19. JavaFX。控制器之間的通信
- 20. 控制器之間的通信 - angularjs
- 21. 嵌套控制器之間的通信
- 22. 通信控制器之間不可能
- 23. 控制器之間的通信JavaFX
- 24. 在視圖控制器之間導航?
- 25. 在視圖控制器之間切換
- 26. MVC 3:通過JavaScript在局部視圖和視圖之間進行通信
- 27. 在視圖設計模式與事件之間進行通信
- 28. GWT與MVP:如何在2個視圖之間進行通信?
- 29. 基本概念:在兩個視圖之間進行通信?
- 30. 如何在3個視圖控制器之間傳遞信息?
雖然我終於用cdespinosa的建議,但必須注意的是,您的解決方案精細工作過。 – 2010-01-17 02:10:35