我有一个单例类,它会累积数据,直到将数据写入我的数据库(如果您想知道我为什么要以这种方式实现,请参见此处)。保存数据后,我想销毁单例。我怎样才能在 ARC 中做到这一点?或者我是偏执狂,我需要完全摧毁它吗?
*您可能会说这是此问题的重复,但此处接受的答案不够具体,无法提供帮助。它说“您可以声明显式调用的方法/函数。” 这个代码可能是什么样的?如果我不能在方法外释放对象,我怎么可能在方法内将它拉出来?它还说“最简单的方法是让一个静态 C++ 类持有它,然后在其析构函数中释放它。” 我不知道 C++,但是 - 你真的可以在你的应用程序代码中放置一个 C++ 类吗?
我的单例是这样实现的:
+(NHCFamilyStatus *)familyStatus
{
static dispatch_once_t pred;
static NHCFamilyStatus *familyStatusSharedObject=nil;
dispatch_once(&pred, ^
{
familyStatusSharedObject = [[NHCFamilyStatus alloc] init];
});
return familyStatusSharedObject;
}