我已经创建了单例对象,在一个时间点上必须释放单例对象。如何在非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/ –
看看在非圆弧代码我提供 –
链接 - (单向无效)发布{// 绝不会透露 } 我们如何使用这种方法? –