在我的应用程序中,我有2个单独的部分。登录/注册部分和主应用程序部分。根据用户是否登录,应用程序会将相关部分附加到窗口,然后将其移除。
我的问题是,当用户选择退出时,应用会删除coredata和用户默认值中的所有内容,然后切换回显示登录/登录部分。我遇到的问题是如何释放为主应用程序部分创建的所有对象。它利用了一些单人等,在通过仪器挖掘后,我可以看到并非一切都被释放。我可以加倍看到这个,因为主应用程序部分每20秒进行一次调用会导致用户注销后崩溃,因为它试图调用存储在核心数据部分中的对象,所以我知道它没有被正确发布。
有人对此有任何建议吗?以下是我设置的两种方法。我需要杀死才能解决所有问题。谢谢你的帮助。
+ (MessageTableDataHandler*)sharedInstance
{
// 1
static MessageTableDataHandler *_sharedInstance = nil;
// 2
static dispatch_once_t oncePredicate;
// 3
dispatch_once(&oncePredicate, ^{
_sharedInstance = [[MessageTableDataHandler alloc] init];
});
return _sharedInstance;
}
+ (MessageTableDataHandler*)kill{
// 1
static MessageTableDataHandler *_sharedInstance = nil;
// 2
static dispatch_once_t oncePredicate;
// 3
dispatch_once(&oncePredicate, ^{
_sharedInstance = nil;
});
return _sharedInstance;
}