如何從someView控制器訪問AppDelegate類的屬性值,而無需在視圖控制器中創建委託的引用?Iphone從AppDelegate訪問屬性值
23
A
回答
48
我不太清楚你的意思 - 有多種方法可以從您的應用程序委託信息到視圖控制器和短語「而無需創建委託的參考」目前還不清楚。您的選項基本上是:
- 引用應用程序委託,根據需要進行轉換。您可以在您的視圖控制器類中編寫代碼,如:
id propertyValue = [(MyAppDelegate *)[[UIApplication sharedApplication] delegate] myProperty];
- 在創建視圖控制器時傳遞屬性。這需要視圖控制器有一個
@property
聲明和@synthesize
D供使用,那麼你會讓應用程序委託只是在視圖控制器實例上設置屬性。
這些選項都不需要您保留應用程序委託的副本,作爲@property
,但第一個參考代碼只會引用一次委託。
19
[UIApplication的sharedApplication] .delegate
您還需要包括應用程序委託頭文件在您的視圖控制器,並可能強制轉換從ID授人以您的實際應用程序委託類。
#include "MyAppDelegate.h"
((MyAppDelegate *)[UIApplication sharedApplication].delegate).myProperty;
2
[UIApplication sharedApplication].delegate;
+0
我正在尋找替代方法來實現除了[UIApplication sharedApplication] .delegate;之外的其他方法。 1.類似於通過發佈/訂閱訪問價值? 2.還有一個問題[UIApplication sharedApplication] .delegate;這是一個standrad,爲什麼我問的是我需要在3個不同的類文件中稱爲「sharedObject」的屬性,「sharedObject」駐留在AppDelegate類? – Anandh 2011-03-03 02:37:45
相關問題
- 1. 訪問AppDelegate對象屬性
- 2. 訪問從的appDelegate
- 3. 訪問從AppDelegate中
- 4. 從AppDelegate訪問視圖控制器的屬性
- 5. 訪問屬性值
- 6. 試圖從AppDelegate訪問UINavigationController
- 7. 從NSViewController訪問AppDelegate方法
- 8. 無法從AppDelegate訪問ViewController
- 9. 使用屬性訪問屬性值
- 10. 的AppDelegate訪問
- 11. 訪問兒童屬性值
- 12. 訪問css屬性值
- 13. 想要訪問屬性值
- 14. 訪問屬性值xpath
- 15. 訪問屬性值連接
- 16. WPF - 從XAML中的StringFormat綁定屬性訪問屬性值
- 17. 從AppDelegate訪問故事板ViewController問題
- 18. 從usercontrol訪問masterpage屬性
- 19. 從DataTemplate訪問ItemsPanel屬性
- 20. 從CSS訪問屬性
- 21. 從Java訪問build.xml屬性
- 22. 從訂閱訪問屬性
- 23. 從類訪問屬性 - PHP
- 24. Tomcat - 從JSP訪問屬性
- 25. 從模型訪問屬性?
- 26. AppDelegate從不同的類訪問,從RootController.m
- 27. 如何訪問uiControl類中的appdelegate值
- 28. 所選值的屬性訪問問題
- 29. 訪問屬性
- 30. 訪問屬性
還有一個問題[UIApplication sharedApplication] .delegate;這是一個standrad方式,爲什麼我問我需要在3個不同的類文件中稱爲「sharedObject」的屬性,「sharedObject」駐留在AppDelegate類? – Anandh 2011-03-03 02:39:47
除非你想創建一個單獨的類來容納屬性,否則使用'[[UIApplication sharedApplication]委託]'是在多個類中訪問該屬性的標準方式。 (說實話,無論如何,你基本上都是在訪問一個單身人士,不需要乘以單身人士。) – Tim 2011-03-03 03:06:56