2010-07-09 25 views
0

我一直在想使用字典和數組等等,豈不是更有效地使用數據庫,只是讀取和寫入到它,而不是通過陣列運行,獲得密鑰保存數據的使用數據庫價值觀,等等等等?這將需要持有大量的文字。如何在iPhone上

數據庫如何設置和使用iPhone?

此外,如果在應用程序運行時寫入數據庫,它是否存儲?我的意思是沒有序列化需要等。

回答

5

有關Apple iPhone開發人員網站上關於實施核心數據的信息,這是用於在關係數據庫中存儲東西的框架。像this introduction一樣。

實際上,關於它的堆棧溢出也有很多信息。如果您遇到特定問題,我建議您閱讀標有core data的問題。

但是,我不能肯定你的假設,即核心數據比序列化NSObjects快是正確的。學習核心數據如何工作需要花費很多時間。字典和數組的序列化只需要你學習一些方法。我想,這真的取決於你的應用程序的需求。更多信息將會有用。

更多鏈接:Serialization to plist files(僅NSArray和NSDictionary)或keyed archiving(用於自定義NSObject子類)。

+0

我想預先寫好大量的文本,然後還允許用戶添加他們自己的信息,這需要添加和保存。我知道使用java創建數據庫。我在想,它會在iphone上類似。創建表格,添加刪除元組等。使用查詢來檢索某些數據。我沒有讀到關於如何在iphone上完成的很多內容,很快就會完成。關於 – jarryd 2010-07-09 18:43:58

+0

從你的描述來看,這聽起來不太相關。我會將NSObject的序列化轉換爲plists,或者如果您有自定義對象,則歸檔文件。看到我上面的其他鏈接。 – Nick 2010-07-09 18:49:54

+0

我不想將它用作關係數據庫,我想更快地訪問數據並使其更有條理。但我會看看你發佈的鏈接謝謝。關於 – jarryd 2010-07-09 18:55:05

1

調查覈心數據。

如果你想走低一點,那就是SQLite。

4

您可以使用默認情況下使用sqlite存儲的核心數據(您可以輕鬆更改)。

Core Data

如果加載了Xcode中有一個示例項目,你可以勾選使用的核心數據,以便所有的管道將到位。然後打開.xcdatamodel文件,您可以使用它來設計要保留的對象。

1

如果你有大量的數據的工作,看核心數據爲您所有的關係對象存儲和檢索需求。 NSPredicate讓您快速搜索並找到您要找的內容。

您可以使用SQLite,但蘋果投入了大量的工作,與iPhone用戶界面工具包,它可以爲您節省開發時間相當數量的整合核心數據。

1

您可以使用他們的數據庫SQLite。該文檔對此非常好。

但我更喜歡使用Web服務和外部數據庫。這取決於你的應用程序。但是,如果用戶更換他的手機,並且您正在使用手機數據庫SQLite,則不會有更多數據......就像我說的那樣,這只是需要思考的問題,而且取決於您的應用程序!

+0

這個想法很好,當我知道更多關於iphone開發的知識時,會有這樣的想法。謝謝。 :) – jarryd 2010-07-09 18:31:34

1

iPhone中有兩種主要的數據持久化方法。一個是CoreData,它是一個持久層,爲你做了最多的序列化,另一個是SQLite的數據庫,爲此你需要做更多的序列化。

看看this question和兩個技術的利弊鏈接的問題。