在ViewControllers之间传输相同的对象

时间:2014-08-18 03:12:32

标签: ios objective-c

我有一个类User,它有一个存储自定义NSObject的NSMutableArray。我只希望其中一个在整个应用程序中实例化,我希望能够在每个ViewController中调用方法来获取和设置。我的问题是我不知道如何调用这些方法,因此它们适用于这一个实例,而不是每次都创建一个新实例。我是Objective-c的新手,所以学习曲线让我觉得我错过了一些显而易见的东西。我一整天都在努力工作,并且在机智的尽头。我的困境有一个很好的解决方案吗?我应该使用单身人士课吗?

(如果有帮助,类User基本上是一个类,它为每个使用我的应用程序的用户存储待办事项列表。自定义NSObjects是待办事项。可能有一个更好的存储方法应该在这里使用,但我不确定它是什么。)

1 个答案:

答案 0 :(得分:2)

RandomPleb听起来像你正在寻找的是一个单身人士。 http://en.wikipedia.org/wiki/Singleton_pattern。我也认为这个问题之前已经得到了回答,所以在SO上搜索。

Laymen的条款;你创建了一个静态引用,你只需要一个类的类,然后按以下方式创建一个静态方法:

//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会更好。

菲尼克斯