2010-01-09 58 views
1

我需要存儲40000個靜態字符串(城鎮)的數組。存儲靜態大尺寸數組

我該如何在Objective-C中做到這一點?

+0

您是否需要將所有這些保存在內存中?怎麼樣一個SQLite數據庫? – notnoop 2010-01-09 18:28:50

+0

或者您需要單獨閱讀嗎?請提供更多信息。 – JoePasq 2010-01-09 18:34:51

+0

使用某種數據庫。 (雙關語意) – Hogan 2010-01-09 18:38:07

回答

5

就我個人而言,我會使用CoreData,並在需要時獲取需要讀入的數據位。另一種選擇是使用NSDictionary將其全部存儲在內存中,但這可能需要用戶擁有相當數量的內存。

CoreData方法將爲您提供快速檢索城鎮名稱的方法,但如果速度是關鍵並且內存使用率無關緊要,那麼使用類似NSDictionary或NSArray的東西將是更快的解決方案。

2
  1. 創建一個NSArray

  2. 存儲陣列中的靜態字符串

  3. 利潤

2

我給了一個點到兩個詹姆斯和查克爲兩個答案都正確給出缺乏背景。

元問題是你想做什麼?

如果你只是想顯示一個城市的列表,而不是實際建立一個數據模型,那麼查克的回答是非常恰當的。 NSString在NSArray中的3000個城市實際上並不多。

但是,我敢打賭,你做的不止於此。如果您沒有建立某種城市與數據模型連接的數據模型,即使其中的一小部分數據模型,我也會感到驚訝。在那種情況下,詹姆斯的答案是正確的。核心數據是要走的路,因爲它具有足夠的快速,高度可擴展性,併爲您提供更高級別的工具來建模和與數據進行交互。