Swift - 存储和检索数据 [关闭]
Posted
技术标签:
【中文标题】Swift - 存储和检索数据 [关闭]【英文标题】:Swift - Storing and retrieving data [closed] 【发布时间】:2015-06-03 02:45:26 【问题描述】:我的疑问是:如何在应用程序中存储一些数据(例如字符串和图像),然后正确检索这些数据? 我读过一些关于它的东西,但我不太明白(随便你叫我什么)。
我的想法是我有一些 ViewController,并且在每个 ViewController 中插入一些数据,例如名称、图像、文本,当我点击一个单元格时,我想要一个最终的 ViewController 来检索所有这些数据。我几乎完成了所有工作,只是我不知道如何在最后一个 ViewController 中检索所有这些数据。我该怎么做?代表模式?使用 CoreData?
编辑
我有 4 个 ViewController。第一个有一个 tableView 将存储一些配方名称。第二个,我将输入食谱的名称并从 photoLibrary 中选择一张图片。第二个 ViewController 有两个 segues:一个到第三个 ViewController,我将在其中写一些食谱的成分;还有第四个,我将在其中发短信给食谱的 HowToDo。当我向所有成分和 HowToDo 发送文本时,应用程序会转到第二个 ViewController,然后当我按“添加”时,它会转到第一个 ViewController,并且单元格会收到食谱的名称。然后,当我点击单元格时,它会转到第五个 ViewController,它将显示详细信息(名称、图像、tableView 中列出的成分和 HowToDo)。
我的疑问是:如何从这些 ViewController 中检索所有数据?
【问题讨论】:
NSUserDefaults
很可能是您要查找的内容。这是一个示例:Example 和 Apple Doc's。
这个问题太笼统了,不够详细。您需要提供有关控制器层次结构的一些信息,以及您是否希望这些数据在应用程序启动之间保持不变。
抱歉,我不能比这更具体,因为我还不能发布图片:(我正在尝试正如 Daniel Storm 所说的那样。
@DanielStorm 我不知道 NSUserDefaults 是否是我所追求的。我读到有人说它不适用于存储图像。你怎么看?我应该遵循一些 CoreData 教程吗?
我正在寻找的是某种方式来存储每个 ViewController 中设置的信息(图像、名称、文本和表格视图)并能够在最后一个 VC 中检索这些数据。有什么想法吗?
【参考方案1】:
您有 4 个选项:
1) NSUserDefaults - 适用于少量数据
2) 使用 NSArchiver 存储在文件系统中。
3) SqlLite - 适用于大量数据。
4) CoreData - 存储对象图。非常先进但学习曲线陡峭。
有关所有这些方法的详细信息,请观看以下视频的持久性部分: https://itunesu.itunes.apple.com/WebObjects/LZDirectory.woa/ra/directory/courses/961180099/feed
【讨论】:
我在每个单元格中存储少量数据,但它会存储太多单元格并存储信息,所以我认为 NSUserDefaults 在这种情况下不好。我认为 CoreData 确实是解决方案。感谢您的视频链接。明天我会尝试给你一个反馈! 我认为 sqlite 适合您的用例。但是将 sqlite 与 swift 一起使用是很棘手的。所以也许你应该试试 Core Data。 我设法使用 CoreData 保存了一些文本,但我找不到存储从照片库中挑选的图像的方法。我读到它必须转换为 NSDate 但我不知道如何正确地做到这一点。有什么想法吗?以上是关于Swift - 存储和检索数据 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
检索存储在 childByAutoId() 参考 (Swift) 中的特定 Firebase 数据
(Swift) 将数组存储和检索到 NSUserDefaults