如果我有大量的信息會在應用程序使用時被隨機使用,那麼存儲和訪問數據的最佳方式是什麼?在iOS應用程序中存儲大量靜態信息的最佳方式?
該應用程序完全依賴於我所擁有的靜態文本,並需要根據用戶在應用程序中選擇的內容來抓取某些部分並將它們連接起來。
當應用程序首次加載時,是否最好將其加載到核心數據中,然後檢查每次加載後它是否被加載?如果是這樣,怎麼樣?
如果我有大量的信息會在應用程序使用時被隨機使用,那麼存儲和訪問數據的最佳方式是什麼?在iOS應用程序中存儲大量靜態信息的最佳方式?
該應用程序完全依賴於我所擁有的靜態文本,並需要根據用戶在應用程序中選擇的內容來抓取某些部分並將它們連接起來。
當應用程序首次加載時,是否最好將其加載到核心數據中,然後檢查每次加載後它是否被加載?如果是這樣,怎麼樣?
核心數據完全不適合您的用例。
將文字保存在.strings
文件中,並使用NSLocalizedString()
進行訪問。這將提供一種方便的方式來按鍵查找文本,並使本地化變得簡單。
讓我舉個例子:在英語中,我們有單詞的前綴和後綴。比方說,我有一個成千上萬的前綴和另一個後綴的列表,而另一個只能選擇前綴和後綴的單詞。關係是一個詞有0 .. *前綴和/或後綴。如果我想獲取前綴列表並將它們追加到指定的單詞中。什麼是最好的方式來存儲這些。我可以看到如何將這些數據存儲在覈心數據中,但是它爲每個單詞,前綴和後綴創建了一個模型對象,這似乎是一個小應用程序的額外開銷。 – wadzy1
核心數據的主要焦點不是持久化數據,而是管理包含和操作數據的對象的複雜圖形。 API旨在創建模型 - 視圖 - 設計應用程序的整個模型層。
如果您有很多文本塊需要單獨的邏輯,或者如果您的應用程序將從大量文本中創建這些塊,那麼核心數據是一個不錯的選擇。
如果你只是有一個非常基本的文本編輯器,那麼可能不是。
讓我舉個例子:在英語中,我們有單詞的前綴和後綴。比方說,我有一個成千上萬的前綴和另一個後綴的列表,而另一個只能選擇前綴和後綴的單詞。關係是一個詞有0 .. *前綴和/或後綴。如果我想獲取前綴列表並將它們追加到指定的單詞中。什麼是最好的方式來存儲這些。我可以看到如何將這些數據存儲在覈心數據中,但是它爲每個單詞,前綴和後綴創建了一個模型對象,這似乎是一個小應用程序的額外開銷。 – wadzy1
對於每個單詞,前綴和後綴,您都需要一個不同的對象,因爲在現實世界中,每個單詞,前綴和後綴都是不同的東西,您的數據模型應該反映真實世界的對象。無論您選擇何種方法/ API,如果您的應用需要區分它們,您最終將不得不爲每個單詞,前綴和後綴建模。您不妨使用Core Data並獲得所有好處。 – TechZen
三個實體數據模型不是很複雜。 – TechZen
是否有來自互聯網的大量信息?或從應用程序中的文件/資源? –
沒有足夠的信息繼續下去。 – TechZen
讓我舉個例子:在英語中,我們有單詞的前綴和後綴。比方說,我有一個成千上萬的前綴和另一個後綴的列表,而另一個只能選擇前綴和後綴的單詞。關係是一個詞有0 .. *前綴和/或後綴。如果我想獲取前綴列表並將它們追加到指定的單詞中。什麼是最好的方式來存儲這些。我可以看到如何將這些數據存儲在覈心數據中,但是它爲每個單詞,前綴和後綴創建了一個模型對象,這似乎是一個小應用程序的額外開銷。 – wadzy1