2012-02-29 18 views
0

我目前在.plist文件中存儲了一些常用的數組和字典。但是,這些文件中存在重複數據。相反,我希望能夠更多地沿着關係數據庫的行來實現某些內容,以便存儲對數據的引用,而不是重複數據。我猜測有沒有辦法用plist文件來做到這一點,但CoreData似乎對此過度殺傷。如何存儲所有這些預先創建的數據?

我想到的一個想法是NSArray和NSDictionary的子類,以提供默認值。而不是從plist文件中加載字典,無論對象需要什麼對象,數據都會實例化這些NSArray/NSDictionary子類中的一個(這將在必要時實例化這些子類中的其他類) - 這就是「關係數據庫」功能取得成就)。這是一個很好的方法,還是有一些我不知道的iOS或Xcode中的其他工具,並會使這個簡單?

+0

如何使用一個.plist作爲數據源。其他.plists存儲對第一個.plist的引用? – ohho 2012-02-29 02:25:50

回答

1

如果數據永遠不會改變,那麼我會堅持使用您當前的方法,除非您遇到性能問題。另一種選擇是將所有內容移到SQLite,然後使用FMDB等包裝器。

如果數據是在應用程序的生命週期中將會改變的初始數據(您需要啓動之間的持久性),那麼我會切換到CoreData。

無論你做什麼,我都會遠離NSArray/NSDictionary的子類。您可以提供默認值而不需要子類。

+0

如何在SQLite中預先創建數據?我是否需要執行檢查以查看它是否第一次運行該應用程序,如果是,則創建數據? – maxedison 2012-03-01 13:02:54

+0

您可以隨時在開發機器上創建數據庫,然後將數據庫發送到應用程序包中。 – sosborn 2012-03-01 13:04:18

+0

好的。我得看看更多。從plist文件或SQLite讀取通常更快(性能方面)? – maxedison 2012-03-01 16:02:41

1

我在這種情況下使用了SQLite。
這裏是我學習的關於在應用程序中使用SQLite的一切(Stanford class) 的視頻我假設有很多其他示例可用。

好的是,您可以使用各種工具/插件來輸入或管理您的數據。然後,只需在代碼中進行任何查詢即可。

相關問題