如何保存来自不同视图控制器的数据并将其加载到iOS中的另一个视图控制器中

我是iOS新手。 经过了很多文件,我很困惑。这是我必须做的。

我有几个视图控制器每个都有NSString值,我将input到一个文本字段,并将其保存在一个共同的地方,当我需要查看数据,它将显示在UITableview 。 我知道如何创build一个UITableview并加载其中的数据。 但我必须知道如何保存和加载。

到目前为止,我尝试了一些东西。 如果我进入一个新的领域,旧的内容被覆盖。我不知道从哪里开始。可以任何人一步一步的逻辑(而不是代码)。 所以我可以跟着这个

我尝试使用NSdefaults,但它没有效率,因为我的预期

您可以用多种方式保存数据

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

可能性是无止境。 什么最适合你的项目是你应该使用的。

1,您可以使用您的应用程序委托界面保存常用数据。 那么你可以从其他接口访问它

2 – 你可以使用NSUserDefault键来存储数据

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

有两个选项可用于在不同视图控制器中存储和检索数据。

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

NSUserDefaults类提供了访问常见types(如float,double,integer,Boolean)的便捷方法。 一个默认对象必须是一个属性列表,也就是一个实例(或集合的实例组合):NSData,NSString,NSNumber,NSDate,NSArray或NSDictionary。

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

如果你想阅读关于NSUserDefaults,在这里我共享文件。

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

2)你可以创build属性,当你希望他们可以在课程或其他视图控制器之外访问。

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

属性replace对象的访问器方法。

使用数据库在这里是更好的select。 但是,如果你只想dynamic地使用这些数据,那么你可以将它保存在一个数组中,并由代表获取这些公共数据。