我创建了一个方法,像下面一个:内存泄漏问题
+ (JSONManager *)GetInstance
{
if (!instance)
{
instance = [[JSONManager alloc] init];
}
return instance;
}
,我需要用同样的方法在不同的视图...如果我释放它工作正常,第一种观点这个如果试图导航到第二个视图我的应用程序崩溃。
任何一个可以请让我知道我在哪里需要释放对象提前
我创建了一个方法,像下面一个:内存泄漏问题
+ (JSONManager *)GetInstance
{
if (!instance)
{
instance = [[JSONManager alloc] init];
}
return instance;
}
,我需要用同样的方法在不同的视图...如果我释放它工作正常,第一种观点这个如果试图导航到第二个视图我的应用程序崩溃。
任何一个可以请让我知道我在哪里需要释放对象提前
这似乎是一个单身
感谢。你不应该在第一个视图中释放它。您将希望在应用程序的整个生命周期中使用相同的实例。
如果这不是要求,您应该提供机制将instance
变量设置为nil
,因为它将在释放对象后指向释放对象。但我认为情况并非如此。
该代码看起来像一个Singleton。 Singleton的目的是在整个应用程序中有一个资源实例。
因此,在第一个视图中完成后,您不应该释放实例,因为您想在另一个视图中使用它。
如果你担心释放这种情况下看看下面的链接,一个模板单类iOS应用程序:
雅这是单身......所以有没有办法没有释放它,但我越来越内存泄漏...我需要做什么来避免泄漏 – vidya
我已经添加了一个链接,供您在iOS应用程序中用作单身人士的模板。 –
如果你想有一个真正的单身使用这个模板,生成它。 它是基于苹果的辛格尔顿代码 http://blog.mugunthkumar.com/coding/objective-c-singleton-template-for-xcode-4/
尝试释放它在其他视图,其中u正在访问该 – booleanBoy
http://meta.stackexchange.com/q/5234/150789 –