2011-03-05 61 views
0

我正在制作我的第一个iOS应用程序,而且我正面临我的第一个(小)问题。iOS中的多语言文档(RTF):文件,SQLite,核心数据?怎么样?

应用程序将是一个非常经典的iOS UI体验:我的意思是,表视图,标签栏,按下控制器等显示文档(从RTF文件已存在),音频和视频文件。

我RTFS有混合的语言,所有的iOS支持,我觉得这是很重要的,不是吗?

考虑到音频和视频将明显存放在沙箱中的文件目录,我不那么肯定对RTF。我想让它在我的应用程序中使用NSAttributedString(可以响应initWithRtf消息。

我想那之后我将不得不将它加载到一个UIWebView?或者只是将这个NSAttributedString显示成textview将保留它的格式?

但我不知道如何运送我的应用程序与核心数据预填充数据库。

因此,这里是我的问题:

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

非常感谢!再见。

+0

目前尚不清楚在Core Data中存储RTF的动机。这似乎是一个错误。你能否澄清你为什么这样想做事? – Jim 2011-03-05 18:48:02

+0

我正在考虑这样做,因为我认为RTF渲染不会被反应快速通过UIWebView加载。但似乎我错了,无论如何我都会测试它。 – Mouss 2011-03-05 19:27:09

回答

2

在我的应用程序中使用可响应initWithRtf消息的NSAttributedString获取它。

这是行不通的。 -initWithRTF:documentAttributes:目前仅在OS X上可用。要在iOS上将RTF文件转换为NSAttributedString,需要手动解析文件(我们希望iOS 5的更改)。

我想那之后我将不得不加载到UIWebView?或者只是将这个NSAttributedString显示成textview将保留它的格式?

UIWebView无法显示NSAttributedString s。 UITextView也不能。你将不得不使用核心文本功能来自己绘制文本。或从头开始使用HTML,并在Web视图中显示文本。

将这些RTF存储在核心数据中是一个好主意吗?它是否比简单的UIWebView更快,我将直接从文档文件夹加载RTF文件?也许SQLite更适合我的情况?

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

如何预填充数据库到我的应用程序?

只需在应用程序包中包含Core Data数据存储区文件即可。如果需要写入该数据库,则代码需要在首次启动时将该文件从该软件包复制到应用程序的Documents目录。

+0

太好了,非常感谢! 我在推特上关注你,阅读你的博客,并且我有一个打开你的三月最佳iOS链接的标签! 我只是简单地使用纯文件来实现它,你是对的,我不必考虑优化我甚至没有测试过的东西...... – Mouss 2011-03-05 18:28:42