【问题标题】:Possibly very basic - how to organise static app data可能非常基础——如何组织静态应用数据
【发布时间】:2012-12-07 07:17:44
【问题描述】:

掌握 iOS 以便重新创建我为 android 编写的应用程序。基本上,用户从一个表格中选择一个文档标题列表,这会导致一个新屏幕将文档本身显示为滚动视图中的文本。这些是静态的,因此可以与应用程序捆绑在一起。在 android 版本中,我使用名为titles[] 和contents[] 的字符串数组保存在'values' 文件夹中的.xml 文件中,并在运行时使用getResources() 读取。当用户选择项目 n 时,它移动到下一个屏幕并在一对 textView 中显示标题 [n] 和内容 [n]。当时,将 20 或 30 个长文本文件读入一个字符串数组只是为了显示其中一个似乎效率低下,但它确实有效。问题是如何在 iOS 中最好地做到这一点。 plist 文件似乎最接近以前的方法,但这并不适合数千个字符的字符串。做这个的最好方式是什么?内容的标题列表和单独的文本文件?我错过了什么明显的东西? 在此先感谢,安德鲁

【问题讨论】:

  • 如果是我,我会使用相同的 XML 文件,以便您更新应用程序时更容易,因为它们使用相同的数据。可以使用NSXMLParser 从文件中读取 XML。
  • 这很明智,谢谢 - 所以消息是没有简单的 getResources() 等价物。下一个问题是 NSXMLParser 是否可以只解析数组中的第 n 项以避免将不必要的字符串加载到内存中,但我想它需要单独提出。 A.
  • 嗯,您可以通过多种方式读取和写入数据,但如果您想保持与已有数据的兼容性,则不能。

标签: ios text plist


【解决方案1】:

除非我错过了它,否则我看不到您的数据源是什么。不管怎样,Apple 有一个您尝试镜像的数据模型的不错示例,TopSongs,它提供了一种深入研究数据类型以获得更细粒度的良好方法。

您的部分问题似乎涉及在应用程序中静态存储数据。有许多不同的方法可以做到这一点,从转储 XML 文件到将其全部存储在 SQLLite db 中。就我个人而言,我认为我会使用这两种方法的混合,以及引用单个文件的数据库。希望对您有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-03
    • 1970-01-01
    • 2017-03-30
    • 2012-09-07
    相关资源
    最近更新 更多