我创建了一个类似下面的方法:
+ (JSONManager *)GetInstance
{
if (!instance)
{
instance = [[JSONManager alloc] init];
}
return instance;
}
我需要在不同的视图中使用相同的方法...如果我为第一个视图发布这个方法它工作正常,如果尝试导航到第二个视图我的应用程序崩溃。
任何人都可以告诉我在哪里需要发布该对象
提前致谢
答案 0 :(得分:0)
这似乎是一个单身人士。您不应该在第一个视图中释放它。您将希望在应用程序的整个生命周期中使用相同的实例。
如果这不是要求,则应提供将instance
变量设置为nil
的机制,因为一旦释放它将指向释放的对象。但我认为事实并非如此。
答案 1 :(得分:0)
代码看起来像一个Singleton。 Singleton的目的是在整个应用程序中提供单个资源实例。
因此,在第一个视图中完成后,您不应该释放该实例,因为您希望在另一个视图中使用它。
如果您担心发布此实例,请查看iOS应用程序的模板单例类的以下链接:
答案 2 :(得分:0)
如果你想要一个真正的单身人士使用这个模板并生成它。 它基于Apple的Singleton代码 http://blog.mugunthkumar.com/coding/objective-c-singleton-template-for-xcode-4/