iphone - iOS 中的多语言文档 (RTF) : Files, SQLite、核心数据?如何?

标签 iphone objective-c ios core-data rtf

我正在制作我的第一个 iOS 应用程序,我面临着我的第一个(小)问题。

该应用程序将提供非常经典的 iOS UI 体验:我的意思是,表格 View 、标签栏、推送 Controller 等显示文档(来自现有的 RTF 文件)、音频和视频文件。

我的 RTF 有多种语言,iOS 都支持,我认为这很重要,不是吗?

考虑到音频和视频显然会存储在沙箱文档目录中,我对 RTF 不太确定。

我希望它在每个设备上都非常 react ,所以我的想法是将我的 RTF 存储在核心数据实体中(使用二进制类型)并使用 NSAttributedString 将其获取到我的应用程序中,它可以响应 initWithRtf 消息。

我想在那之后我必须将它加载到 UIWebView 中?或者只是将此 NSAttributedString 显示到 TextView 中将保留其格式?

但我不知道如何将我的应用程序与预填充的 Core Data 数据库一起发布。

所以这是我的问题:

  • 将这些 RTF 存储在核心数据中是个好主意吗?它真的比我直接从文档文件夹加载 RTF 文件的简单 UIWebView 快吗?也许 SQLite 更适合我的情况?
  • 如何将数据库预填充到我的应用程序中?
  • 关于在我的 RTF 中使用多种语言有什么具体考虑吗? (例如,将拉丁语和非拉丁语语言放入同一个文件中)。

非常感谢!再见。

最佳答案

getting it in my application with NSAttributedString which can respond to the initWithRtf message.

那是行不通的。 -initWithRTF:documentAttributes: 目前仅在 OS X 上可用。要在 iOS 上将 RTF 文件转换为 NSAttributedString 目前需要手动解析文件(希望随 iOS 5 发生变化)。

I guess that after that I'll have to load it into a UIWebView ? Or simply displaying this NSAttributedString into a textview will preserve it's formatting ?

UIWebView 无法显示 NSAttributedStringUITextView 也不行。您将不得不使用 Core Text 函数自己绘制文本。或者从头开始使用 HTML 并在 WebView 中显示文本。

Is it a good idea to store those RTFs in Core Data ? Is it really faster than a simple UIWebView where I would load the RTF file from documents folder directly ? Maybe SQLite is better for my case ?

普通文件有什么问题?那将是我的第一选择,因为它似乎是最简单的。如果您根本不知道某件事是否需要优化,您就不必担心优化它。但是由于您可以使用 Core Data 或纯 SQLite 存储任意二进制数据,所以这绝对是可能的。

How to pre-fill a database into my application ?

只需将 Core Data 数据存储文件包含在您的应用程序包中。如果需要写入此数据库,您的代码需要在首次启动时将文件从 bundle 复制到应用程序的文档目录。

关于iphone - iOS 中的多语言文档 (RTF) : Files, SQLite、核心数据?如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5205736/

相关文章:

objective-c - Split View Controller 上的演示表单随机崩溃

ios - 按钮被标签栏覆盖

iphone - 虚拟 LAN 上的推送通知

iphone - [[SKPaymentQueue defaultQueue] addTransactionObserver :observer]; 上的应用程序崩溃

objective-c - 如何测试 NSUserDefaults 用户设置中是否存在 BOOL?

objective-c - 使用 lldb 在 Xcode 中单步执行时调试另一个选择器

ios - iPhone - 在 UIView 上绘制透明矩形以显示下面的 View

ios - iOS 8 中 self.view.subviews 为空

javascript - 如何使用 javascript (iphone) 触发点击通话

iphone - Xcode Allocations Instrument - 监听内存警告