我有一个类,User,它有一个存储自定义 NSObject 的 NSMutableArray。我只希望在整个应用程序中实例化其中之一,并且我希望能够在每个 ViewController 中调用它的方法来获取和设置。我的问题是我不知道如何调用这些方法,所以它们适用于这个实例,而不是每次都创建一个新实例。我是 objective-c 的新手,所以学习曲线让我觉得我遗漏了一些明显的东西。我整天都在为此工作,并且束手无策。我的困境有好的解决方案吗?我应该使用单例类吗?
(如果有帮助的话,类 User 基本上是一个为每个使用我的应用程序的用户存储待办事项列表的类。自定义 NSObjects 是待办事项。这里可能应该使用更好的存储方法,但我不确定它是什么。)
最佳答案
RandomPleb 听起来您正在寻找的是一个单例。 http://en.wikipedia.org/wiki/Singleton_pattern .我也认为这个问题之前已经回答过,所以在 SO 上四处搜索。
外行术语;您创建一个对您只想要该类内部之一的类的静态引用,然后按以下方式创建一个静态方法:
//call this from classes that want to modify it
public static getsharedinstance()
{
if(the static instance of this class does not exist){
instantiate instance;
}
return this classes static instance..
}
希望这有帮助(如果这是错误的,我希望有人能纠正我)
另外关于存储对象,我认为 NSMutableArray 很好,除非它是一个非常大的持久列表,其中每个任务都有许多属性,在这种情况下使用 CoreData 可能会更好。
菲尼克斯
关于ios - 在 ViewController 之间传输相同的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25355844/