在我的應用程序中有很多視圖控制器在某些視圖控制器中有一些變量在那裏,我想在其他類中使用.my變量不存在於應用程序委託文件中,所以我可以我把它全球化使用我的應用程序中的每個地方?在應用程序中創建一個類變量global
0
A
回答
1
在我看來,如何使用單身模式?所以當你想使用這個類的變量時,只需要獲取實例,然後使用變量。
@interface MySingletonViewController : UIViewController
{
//here your variables
int globalVariables;
}
@property (nonatomic, assign) int globalVariables;
+ (MySingletonViewController *)sharedSingleton;
@end
@implementation MySingletonViewController
@synthesize globalVariables;
static MySingletonViewController *sharedSingleton = nil;
+ (MySingletonViewController *)sharedSingleton
{
@synchronized(self)
{
if (sharedSingleton == nil)
sharedSingleton = [[MySingleton alloc] init];
return sharedSingleton;
}
}
@end
UIViewController實際上是類,所以我們可以這樣做:)希望這有幫助。
+0
我認爲通過+(MySingletonViewController *)sharedSingleton控制UIViewController生命週期不是個好主意。更好的方法是使用獨立的選項,這在整個應用程序中都是有用的。 – Orange
1
當然你可以,但通過整個應用程序使用全局變量肯定是壞的架構設計。
MyVeryOwnClass *g_MyVeryOwnClassPointer = nil;
,並獲得它:
之外實現部分在任何* .m文件 - (指針類在你的情況下)爲由於基於C的Objective-C,你可以定義變量
extern MyVeryOwnClass *g_MyVeryOwnClassPointer;
/* do some operations with your pointer here*/
或將extern聲明移動到頭文件。
PS:您可以使用單身。它們不是最好的解決方案,但是使用原始變量會更好。
相關問題
- 1. 在整個應用程序中創建一個變量?
- 2. 如何在一個函數內創建一個GLOBAL變量
- 3. 在c#中創建一個局部變量值global#
- 4. 在一個類中創建一個es6變量全局變量
- 5. PHP類中的GLOBAL變量
- 6. 創建一個「Global」AlertDialog
- 7. 如何在一個包中創建少量應用程序?
- 8. 在Delphi中使用變量global和變量類
- 9. 如何在調用$ .get方法時創建一個javascript變量global?
- 10. 如何在Eclipse PDT應用程序中創建全局變量?
- 11. 在Visual Basic中爲應用程序創建全局變量
- 12. 如何在application.cfc中創建應用程序變量
- 13. 在程序中創建變量
- 14. 在一個類中創建一個變量
- 15. 在asp.net應用程序中共享一個全局變量到一個類
- 16. 在C#中創建一個類,使用未分配的變量
- 17. 創建一個變量以適應所有類的類型
- 18. php創建一個類變量
- 19. 如何創建一個使用javassist創建的類的變量
- 20. 'Global'變量Razor
- 21. [ruby]創建一個應用程序
- 22. 爲應用程序創建一個URI
- 23. C#創建一個ListBox應用程序
- 24. 創建一個活動應用程序
- 25. 爲應用程序創建一個GUI
- 26. 創建一個定時應用程序
- 27. 創建一個16位應用程序?
- 28. 創建一個Web應用程序
- 29. 創建一個Drools Web應用程序
- 30. 在PHP中創建一個變量
是你可以從appDelegate訪問的viewController ..? – vishy