ios - 在 ViewController 之间传输相同的对象

标签 ios objective-c

我有一个类,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/

相关文章:

ios - 如何使用CGContext/CGContextRef绘制虚线?为什么我的代码会生成一条实线?

iphone - 如何检测何时在 uikeyboard 类型 "ABC"上点击 "UIKeyboardTypeNumbersAndPunctuation"按钮

ios - cucumber /Calabash-iOS 和 Xamarin.iOS

ios - 它不会构建失败,它会显示 "No Issues"但仍然无法正常工作

objective-c - 添加叠加层后 UIImage 周围出现略微透明的白线?

ios - 如何在发生崩溃时识别 iOS 应用程序的状态

ios - UIImageView 获取显示图像的位置

ios - Facebook SDK 3.1 - 验证访问 token 时出错

ios - iOS 中的词干提取 - 不适用于单个词

ios - 从 iOS 11 上的左侧菜单导航后出现 Xcode 9 导航栏问题,而不是在 iOS 10.3 及以下版本上