我已經創建了單例對象,在一個時間點上必須釋放單例對象。如何在非ARC和ARC中釋放單例對象?如何在iOS中發佈Singleton對象?
-1
A
回答
0
如果你把單個實例作爲類的一個全局變量,例如:
static MyClass *_instance = nil;
而不是sharedInstance
類方法中是static
地方,那麼你可以創建這樣的破壞方法:
+ (void)destroyInstance
{
_instance = nil;
}
但是我可以看到的一個問題是使用dispatch_once_t
這是常用的確保原子初始化;我認爲你需要避免在這種情況下使用它,因爲它不可能重置它。如果你再也不打算再次致電sharedInstance
,這可能不是問題。
0
@interface MySingleton : NSObject
static dispatch_once_t predicate;
static MySingleton *sharedSingletonInstance = nil;
@implementation MySingleton
+ (MySingleton *)ShareInstance {
dispatch_once(&predicate, ^{
sharedSingletonInstance = [[self alloc] init];
});
return sharedSingletonInstance;
}
+ (void)destroyMySingletonInstance {
sharedSingletonInstance = nil;
predicate = 0;
}
- (void)dealloc {
NSLog(@"------");
}
// TODO
...
@end
相關問題
- 1. 如何在StructureMap中發佈HybridHttpOrThreadLocalScoped對象?
- 2. 公佈對@Singleton
- 3. iOS - 正在發佈的對象?
- 4. 從Singleton對象呈現iOS 8 UIAlertController
- 5. 如何發佈opengraph對象
- 6. RestKit如何發佈對象
- 7. 如何發佈cocos2d對象?
- 8. 如何發佈此對象?
- 9. 發佈iOS中的所有自動發佈的對象
- 10. 在Swift中發佈對象
- 11. Singleton對象中的NSMutableArray
- 12. 發送消息到Singleton對象
- 13. Spring Controller singleton對象
- 14. 如何使Android的Singleton對象持久
- 15. 如何初始化我singleton對象
- 16. 發佈對象?
- 17. 如何發佈在iOS程序中使用複製關鍵字的對象
- 18. 如何在iOS中發佈子視圖
- 19. 如何在iOS中發佈json?
- 20. 如何在xamarin ios中發佈multipartformdata?
- 21. 如何在iOS中發佈數據?
- 22. 如何在iOS 5中發佈TouchXML庫?
- 23. 如何在cURL發佈請求中發送簡單對象
- 24. 在Swift中創建領域對象Singleton
- 25. 何時發佈對象
- 26. 如何在Singleton WCF服務中處理對象
- 27. 如何在spring中創建birt運行時對象作爲singleton
- 28. 如何發佈對象到WebAPI
- 29. 如何使用RestKit-0.2發佈對象
- 30. 如何發佈對象列表?
http://www.galloway.me.uk/tutorials/singleton-classes/ –
看看在非圓弧代碼我提供 –
鏈接 - (單向無效)發佈{// 絕不會透露 } 我們如何使用這種方法? –