2011-07-25 77 views
0

在iOS應用程序中,我從用戶處取得一個四位數字的代碼,並在TextView中給它們一個對應的字符串。我的問題是,因爲有大約一千個可能的代碼用戶輸入,我正在檢查,什麼是有效的方式來給出一個結果,而沒有一個巨大的if或switch語句?喜歡,使用plist,txt文件,甚至數據庫....在此先感謝整數搜索plist

+0

有10,000個可能的四位數代碼,而不是1,000個。 – duskwuff

+0

我明白,但對於這個應用程序,只有其中一些將是合乎邏輯的;即用戶不想輸入某些範圍的數字,因爲它們沒有意義(不使用範圍2400-2900)。據我所知,10000是可能的,但我只需要爲1000左右製作相應的字符串,這實際上是有道理的。 –

回答

1

plist,文本文件或數據庫的決定只是存儲的問題,而不是搜索。就我個人而言,我只會使用JSON文件,因爲它可以很好地支持人腦和軟件。爲了搜索,只需將它們放在NSDictionary中並對其進行查找即可。除非您的物品非​​常大,否則即使在內存限制的iPhone上,1000個物品也不是真正的大數據集。即使每個項目都是1 KB(這聽起來比您所描述的數據集大得多),但您看起來整個集合還不到1兆字節。

如果字符串碰巧很長,則將長文本存儲在文件中,並將文件URL存儲在查找表中而不是整個字符串中。 IIRC,平均約有100個字節的URL,而NSNumber約爲8,所以你會看到整個數據集大約有108 KB。

+0

我不熟悉JSON文件,但我會研究它們 –

1

鑑於可能的代碼數量,我會推薦Core Data。或者,您可以直接使用SQLite。你可能使用plist,但我擔心它會很快變得難以管理,因爲你添加,刪除和更新代碼。