【问题标题】:How to save data from different view controllers and load it in another view controllers in iOS如何保存来自不同视图控制器的数据并将其加载到 iOS 中的另一个视图控制器中
【发布时间】:2012-07-30 09:25:38
【问题描述】:

我是 iOS 新手。在浏览了很多文件后,我很困惑。这就是我必须做的。

我有几个视图控制器,每个都有 NSString 值,我将在文本字段中输入这些值并将其保存在一个公共位置,当我需要查看数据时,它将显示在UITableview 中。我知道如何创建UITableview 并在其中加载数据。但我必须知道如何保存和加载它。

到目前为止,我已经尝试了一些东西。如果我输入一个新字段,旧内容将被覆盖。我不知道从哪里开始..谁能给我一步一步的逻辑(不是代码)。这样我就可以遵循它。

我尝试使用 NSdefaults,但效果不如我预期

【问题讨论】:

  • 我想你想在 DB(SQlite) 中存储你的数据,对吧?
  • 即使在应用退出并重新启动而不是重新安装后,也必须存储数据。哪种方法最好?
  • 在本地数据库中存储所需数据,然后在需要时获取。
  • 你可以参考这个问题stackoverflow.com/questions/11669766/…

标签: iphone objective-c ios xcode ios5


【解决方案1】:

您可以通过多种方式保存数据

  1. 使用 CoreData 保存数据。你会发现一些关于如何使用 CoreData 的好教程
  2. 在没有 CoreData 的情况下使用 SQLite 数据库
  3. 将数据保存到您的应用委托或可从最终视图控制器访问的视图控制器中
  4. 将数据从所有视图控制器传递到最终视图控制器
  5. 将数据保存在 plist 中

可能性无穷无尽。最适合您的项目的就是您应该使用的。

【讨论】:

  • 你可以参考这个问题stackoverflow.com/questions/11669766/…...
  • 若要在应用退出后仍保存数据,您可以使用 1、2 和 5
  • 单例模式也有助于存储像 appdelegate 这样的值
【解决方案2】:

1-您可以使用您的应用委托界面保存常用数据。然后你可以从其他界面访问它

2-你可以使用 NSUserDefault 来存储带有键的数据

3-创建 NSString 对象并从视图传递到另一个视图传递数据到新的 NSString 对象

【讨论】:

    【解决方案3】:

    在不同的视图控制器中存储和检索数据有两种选择。

    1)NSUserDefaults 是在任何其他视图控制器中存储和访问数据的最佳选择。

    NSUserDefaults 类提供了方便的方法来访问常用类型,例如浮点、双精度、整数、布尔值。默认对象必须是属性列表,即以下实例(或集合实例的组合):NSData、NSString、NSNumber、NSDate、NSArray 或 NSDictionary。

    这是存储和检索数据的非常简单和最佳的方法。

    如果你想了解 NSUserDefaults,我在这里分享文档。

    https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSUserDefaults_Class/Reference/Reference.html
    

    2) 当您希望属性可在类或其他视图控制器之外访问时,您可以创建属性。

    以这种方式创建属性。 @property (nonatomic, retain) NSArray *arrayData; 然后你也可以在其他视图控制器中使用这个数组值。

    属性替换对象的访问器方法。

    【讨论】:

      【解决方案4】:

      在这里使用数据库是更好的选择。但是,如果您只需要动态地获取这些数据,那么您可以将其保存在一个数组中并通过委托获取这些公共数据。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-09-17
        • 1970-01-01
        • 2020-08-13
        • 2020-03-20
        • 1970-01-01
        • 2023-03-11
        • 1970-01-01
        相关资源
        最近更新 更多