【问题标题】:How to store user data iOS如何存储用户数据 iOS
【发布时间】:2014-05-19 14:29:56
【问题描述】:

我需要存储用户可以添加的数据,他们可以添加无限量。它们可以是NSStringsUIImages。我研究过 NSUserDefaults,但它似乎用于少量数据,例如设置或首选项。

存储用户信息的最佳/最安全的方法是什么,以便当他们关闭应用程序时它仍然在应用程序中。数据填充 UITableView 并且是 NSMutableArray

最好的方法是什么?

【问题讨论】:

  • 请在搜索栏(或搜索引擎)中输入您的问题以获得大量答案。
  • 使用core-data怎么样?
  • 使用 NSFetchedResultsController 的核心数据就可以了。
  • @KevinDTimm - 奇怪的是,这个问题是 Google 上的第三个结果。
  • @lucrativelucas - 在被问到时,情况并非如此

标签: ios objective-c uitableview nsuserdefaults


【解决方案1】:

在 iOS 中必须有十几种存储用户数据的方法。这里有几个:

  • Property lists: 一种存储常见数据存储对象和容器图形的简单方法。如果您只是学习 iOS 技巧,这是一个很好的起点。

  • NSKeyedArchiver 和 NSKeyedUnarchiver: 提供一种简单的方法来序列化和反序列化您的对象到/从数据块,然后您可以使用 NSData 的方法写入/读取。 p>

  • NSFileHandle: 使用漂亮的 Objective-C API 以您喜欢的任何格式读取和写入数据。更一般地说,您应该阅读iOS file system

  • UIDocument: 管理用户数据的全功能起点,包括与 iCloud 同步。

  • Keychain:不是通用的数据存储机制,但如果您要存储密码、信用卡号等敏感项目,则应使用钥匙串 API。

  • POSIX 文件 API: 如果您在 Java 出现之前上过大学,那么旧的 C 文件句柄具有您在大学中学到的读写功能。

    李>
  • SQLite:根据the web site:“SQLite 是世界上部署最广泛的 SQL 数据库引擎。”

  • Core Data:功能强大(但也有些复杂的对象图管理器。如果您要存储许多不同的相关数据,这是一个不错的选择。

    李>

存储用户信息的最佳/最安全方式是什么 这样当他们关闭应用程序时,它仍然在应用程序中。数据 填充一个 UITableView 并且是一个 NSMutableArray。

最佳是主观的——您需要考虑您的需求并查看各种选项。然而,对于许多人来说,最好意味着痛苦最小最容易学习。如上所述,在这种情况下,属性列表可能是要走的路。如果您的数组在标准容器(数组或字典)中包含简单数据(字符串、数据、日期、数字),那么您的文件 I/O 可以像这样简单:

// writing
[myArray writeToFile:somePath atomically:YES];

// reading
myArray = [[NSArray arrayWithContentsOfFile:somePath] mutableCopy];

【讨论】:

    【解决方案2】:

    您应该使用核心数据。有一个非常好的在线免费初学者课程,名为 cs193p,请参阅此处http://www.stanford.edu/class/cs193p/cgi-bin/drupal/node/287,它也可以通过 iTunes U 获得。真的值得花时间观看并且易于理解。

    【讨论】:

    • 谢谢,我去看看!
    • 顺便说一句,它不仅是一门核心数据课程,您还可以真正学到所需的基础知识。
    • 请记住,Core Data 是 iOS 数据存储中的高级主题。这是一个非常酷的工具,但如果您仍然湿脚,可能不是正确的选择。
    • 我认为你别无选择。如果您想构建高质量的应用程序,您必须学习它,没有其他选择。没有蓝色药丸。
    • @VWGolf2 这里有很大的主观性空间——“优质应用”对不同的人意味着不同的东西。正如我所说,我认为 Core Data 是一个很棒的工具。对于一些应用来说,它是最好的工具,没有之一。但这不是您刚开始使用 iOS 时应该学习的第一、第二、第三甚至第二十件事。
    【解决方案3】:

    如果你只有一些数组,你可以检查 plist.非常简单而强大。

    https://developer.apple.com/library/iOs/documentation/General/Reference/InfoPlistKeyReference/Articles/AboutInformationPropertyListFiles.html

    这是一个很棒的资源:@​​987654322@

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-31
      • 2015-04-03
      • 1970-01-01
      • 2016-06-10
      相关资源
      最近更新 更多