2017-03-07 24 views
0

我目前正在研究我的第一個小桌面菜單欄應用程序(macOS,Swift 3)。它需要訪問什麼是在我的應用程序中包含靜態信息的最佳方式?

一)單詞的列表(想想詞典,每個支持的語言)

二)結構化數據的列表1K-5K字(想想簡單的結構,〜500)

我目前在想,是否在代碼中構建這些代碼 - 也許是每種語言的工廠類。或者將它們作爲json包含在我的應用程序中,並在運行時解析。或者,也許建立一個SQLite文件,並在運行時讀取,雖然這種方法將更難以在源代碼控制中進行區分...

由於我是新手,我想知道是否有更好的方式,沒有意識到,或者可能是性能上的考慮,使得上述方法之一無用。

像往常一樣,預先感謝人們!

+0

我會使用json方法。創建一個工廠類來訪問帶有語言參數的數據(如'getWordsForLanguage()'),並延遲加載json(例如,第一次訪問時加載一次,之後保存在內存中)。 – deadbeef

+0

這不應該是一個答案,而不是評論? – Jan

回答

0

您列出的解決方案可用於此任務。不過,我認爲對於這樣的任務,最好的解決方案是使用CoreData,您可以在其中存儲單詞列表以及結構化數據,並在它們之間建立關係(如果需要的話)。

+1

我不會爲此任務推薦Core Data。核心數據專爲沉重的東西而設計。它不會爲這樣一個簡單的任務帶來顯着的性能優勢,而只是一個更復雜的設計,難以維護和修改。 – deadbeef

相關問題