這是一個Objective-C上的新手問題: 我想創建一個靜態類,可用於任何對象訪問的整個代碼。這個類將作爲幾個對象的容器。 任何人都可以提供一個簡短的代碼示例來聲明靜態全局變量和方法嗎?如何實現全局靜態類
3
A
回答
3
對於我的Globals類我有這樣的事情
.h文件看起來像這樣
@interface Globals : NSObject
{
}
+ (Globals *)instance;
@end
與.m文件是這樣
進口 「Globals.h」
@implementation Globals
- (id)init
{
self = [super init];
if (self)
{
}
return self;
}
+ (Globals *)instance
{
static Globals *instance = nil;
@synchronized(self)
{
if (instance == nil)
{
instance = [[Globals alloc] init];
}
}
return instance;
}
- (void)dealloc
{
[super dealloc];
}
@end
當然這是Globals類的一個非常基本的例子
2
你應該把它看作Singleton類, 查找下面的一些鏈接,可以幫助你理解Objective-C中的單例模式。
A note on Objective-C singletons, Singleton Classes., Using the Singleton Pattern in Objective-C,
而且你還可以使用工廠模式來創建一個對象..
0
創建一個類,讓你的應用程序代理持有類的一個實例 - 如果你真的需要這種全球知名度。全局可變狀態,如全局變量和單例是不好的氣味。可以考慮出衆的解決方案。
相關問題
- 1. 如何定義全局靜態類?
- 2. 靜態全局變量V靜態全局類變量
- 3. 如何實現全局信號量類
- 4. 隱藏實現成員函數(如靜態全局函數)的
- 5. 如何在實現接口的類中實現靜態方法?
- 6. 全局靜態類與對象
- 7. 靜態類和全局變量
- 8. 靜態PHP類中的全局變量
- 9. 靜態成員vs靜態全局
- 10. 在靜態方法中訪問全局類的全局方法
- 11. Android應用程序類全局實例或靜態
- 12. 靜態創建的全局類實例,帶參數
- 13. 靜態全局對象
- 14. 全局和靜態雙值
- 15. 如何在Java中聲明一個全局靜態類?
- 16. 靜態全局變量和靜態局部變量
- 17. 靜態幾何的全局照明
- 18. Python全局/包別名實現類
- 19. 如何實現一個全局變量?
- 20. 如何實現全局字符串C#
- 21. C/C++全球VS靜態全局
- 22. 靜態密封類的實現問題
- 23. 實現類的靜態方法
- 24. 在類型上實現靜態方法
- 25. 實現靜態方法在A類
- 26. 如何使用final來實現靜態?
- 27. 如何實現在C靜態圖
- 28. 具有初始化方法的類或靜態類的全局實例
- 29. 如何訪問全局類實例?
- 30. 如何在TPL中實現全局try..finally類型?
可以添加一個靜態變量嗎? – Sagi 2012-02-07 07:18:14