我如何在兩個視圖(因此,兩個類)之間發送信息?我在找我的應用程序代理嗎?有更好的或替代的方法嗎?基本概念:在兩個視圖之間進行通信?
1
A
回答
0
我會使用應用程序委託。或者,如果一個視圖擁有另一個視圖,則可以將它們初始化並保留在課程中的主要引用。
我總是覺得有一個全局的Context對象來保持視圖間的全局信息。這些信息可能是配置信息,設備當前方向,數據庫處理程序等。
對於需要跨訪問的變量,可以使用屬性。
class VC1 : UIViewController {
NSString* v1;
NSString* v2;
}
@property (copy) NSString *v1;
@property (copy) NSString *v2;
,然後在其他視圖:
class VC2 : UIViewController {
VC1 *vc1;
}
,並在VC2你消息的實現,您可以使用VC1的v1和v2是這樣的:
- (void) someMessage {
NSLog(@"VC1's v1 value is %@ and v2 value is %@", [vc1 v1], [vc1 v2]);
}
希望它能幫助。
1
如果你想發回信息,你可以使用target-action(UIControl的方式),或者你可以發送NSNotifications,或者使用通用的委託協議。除非在整個應用程序中使用這些信息,否則將其放入您的應用程序委託可能會過度。
相關問題
- 1. WPF MVVM中的兩個視圖之間進行通信
- 2. 如何在兩個python腳本之間進行通信?
- 3. ANTLR基本概念
- 4. JCR基本概念
- 5. GWT與MVP:如何在2個視圖之間進行通信?
- 6. 如何在ui路由器中的兩個視圖之間進行通信
- 7. IOS Swift,代表在兩個視圖控制器之間進行通信
- 8. 直播視頻的基本概念
- 9. 基本概念背後視頻流
- 10. 如何在python中的兩個進程之間進行通信
- 11. MVC 3:通過JavaScript在局部視圖和視圖之間進行通信
- 12. 核心Java基本概念
- 13. C基本編程概念
- 14. 基本的CSS概念
- 15. 基本ember.js模板概念
- 16. 在視圖設計模式與事件之間進行通信
- 17. emberjs如何在控制器和視圖之間進行通信?
- 18. 在視圖控制器之間進行通信
- 19. 兩個子進程與管道之間進行通信
- 20. 使用c#進行兩個進程之間的通信#
- 21. 通信Python腳本之間的兩個
- 22. boost asio在兩個線程之間進行通信C++
- 23. 無法在兩個MDS模擬器之間進行通信
- 24. 如何在Air中的兩個NativeWindows之間進行通信
- 25. 在Qt中的兩個MainWindow()之間進行通信Qt
- 26. 在兩個窗口之間進行通信Qt5
- 27. 使用WCF在兩個Windows窗體之間進行通信?
- 28. Android AppWidget - 在兩個ListView之間進行通信
- 29. 在兩個片段之間進行通信
- 30. 如何在兩個瀏覽器窗口之間進行通信?
我的變量在哪裏,一個視圖如何知道另一個變量? – Moshe 2010-04-11 13:34:48
用一些代碼更新了我的答案。希望能幫助到你。 – 2010-04-11 13:47:57
看起來不錯,但我如何獲得VC2的VC1值?每個視圖控制器現在都會通過代理查看另一個視圖控制器嗎? – Moshe 2010-04-23 20:51:46