从我的表单中的字段保存数据并通过在我的 main viewcontroller 中列出主键来检索它们?

Saving data from fields in my form and retrieving them by listing out the main key in my main viewcontroller?

我在学校学习 iOS,但似乎无法理解编码。这是我的期末项目需要做的。因此,我想在这里寻求您的帮助和指导......我有点掌握了我希望我的应用程序如何运行以及如何创建 GUI(可能)的概念,但需要有关编码的建议和数据持久性。 假设我的主 viewcontroller 是一个最初为空的表格视图,但如果我单击添加按钮,它将引导我到一个表格,您可以在其中填写一个人的名字并可能说出他们的分数。然后当你保存并返回主视图时,这个人的名字就会被列出来。您可以通过点击姓名来添加更多人或编辑一个人(它将 return 您返回到可以编辑乐谱等的表格)。

提前致谢! (我确实修改了很多次我的笔记,但我仍然没有得到它>_<)

完整查看此 gitHub commit or download zip 项目。我希望这些评论对这个项目有所帮助。

好的,我通常如何完成这样的情况如下:

  1. 创建单例: 包含 return 文件路径的方法以保存和打开文件。 +returnContentsOfDatabase+ returnFormattedPersonForArray: 等其他方法如果保存在其他地方,将避免重复。
  2. 将前缀文件添加到项目: 拥有此文件可以避免像从单例中那样重复导入。您可以查看此 q&a 以查看我是如何添加的。很有帮助
  3. 创建了一个 CategoryClasses 文件: 我发现这种方法对于防止这样的代码非常有用 [arrayPerson objectAtIndex: 0]; //returning the name 但这看起来不是更好吗 [arrayPerson objectPerson_name]; //returning the name, without having to remember the index number。当您添加新的内容(如年龄、isMale 和其他信息)以按人保存时,这也节省了 查找和替换 值的麻烦。您只需更改一个地方的代码!查看此 以了解如何跟进此
  4. 创建客户端:接下来我开始创建将要使用这个新代码的实现;带有 table 的视图控制器。通过将数据加载到我称为 arrayTable 的数组中,然后在每个单元格中打印它
  5. 创建 xib 来管理添加和更新:这部分很重要。我创建了一个简单的 UIViewController,称为 RecordEditorViewController,我创建了一个 init 方法来将数组传递到此视图并传递此视图将要执行的选项;添加新记录或更新现有记录。我使用枚举来创建 CTRecordAddingCTRecordModify 值。对我来说,这只会创建更具可读性的代码。
  6. 最后格式化数据:这个难倒了我,因为我已经有一段时间没有使用数组来保存数据了。但是当您将数据从 plist 加载到 table 并单击一行进行修改时,您必须保存该数组的索引以及它在 plist 文件中的来源。假设您单击了第二行,您将保存 index = 2。所以我创建了这个函数 +returnFormattedPersonForArray:Library.h 文件中声明。当你保存一个已经存在的记录时,你会使用这个索引。在 RecordEditorViewController 中说,在方法 pressRightNav: 中,当 option == CTRecordModify 时,您必须记住删除保存在数组中的索引。您不需要将该号码保存在数据文件中。所以你通过调用 -removeLastObject 来删除它。因为索引是作为最后一个对象保存的,那你替换掉它。

我希望这对您的要求有所帮助,@Silv