我想知道爲了將SQL數據庫下載到核心數據中需要考慮什麼?我不確定我將不得不使用什麼框架,或者在格式化SQL DB時是否有任何特定要求。如何將SQL DB下載到Core Data for ios
任何幫助,建議,鏈接到教程將非常感激..我已經做了一些四處搜尋,它只是很難理解的東西,因爲我不知道我在找什麼,甚至是正確的。
我想知道爲了將SQL數據庫下載到核心數據中需要考慮什麼?我不確定我將不得不使用什麼框架,或者在格式化SQL DB時是否有任何特定要求。如何將SQL DB下載到Core Data for ios
任何幫助,建議,鏈接到教程將非常感激..我已經做了一些四處搜尋,它只是很難理解的東西,因爲我不知道我在找什麼,甚至是正確的。
這是不可能的 - 即使Core Data可以使用SQLite存儲,也沒有導入/導出。你真的有兩個選擇:
1)如果你有一個數據庫你想在iOS應用程序中使用核心數據,那麼你可以寫一個非常簡單的Mac應用程序與你的SQL存儲交互,並基本上覆制它使用基於SQL數據庫創建的核心數據模式的核心數據。這樣做的優點是使用mac應用程序進行測試和開發更簡單。最終的Core Data存儲庫可以被iOS應用程序使用(通過包含Core Data Schema)。
2)在iOS應用程序中執行所有導入操作。這可能需要更長的時間才能開發,但您可以動態地將SQL數據庫下載到手機中並使用SQLite讀取它。
要導入數據,您必須從SQLite數據庫中的每個記錄創建NSManagedObjects對象。根據數據庫模型的複雜性,這可能非常棘手。
Marcus Zarra介紹瞭如何從JSON創建NSManagedObjects:https://stackoverflow.com/a/2363996/480069。這應該給你一個關於如何開始的想法。正如Marcus所說的那樣,要知道你的對象圖中的關係,所以當你擁有複雜的關係時你不會陷入循環。
還有很多很好的教程,那裏如何序列化NSManagedObjects,所以只給谷歌一個嘗試:NSManagedObject serialize
。
感謝您的幫助!現在檢查你的鏈接。 – HurkNburkS 2012-07-16 20:18:03
林不知道如果我理解你所追求的,但也許2個鏈接將是有益的:
的應用程序,讓您從多種格式加載你的數據到一個SQLite數據庫(Excel中, xml,...)是Navicat。這是一種向數據庫獲取數據的簡單方法。正如David H所說,您可以使用這些數據,而無需通過像Sqlite包裝器一樣使用Core Data,如FMDB。然後您可以使用SQL命令訪問數據。
nsscreencst.com提供了一個完全不同的教程:Importing into Core Data是一個教程,展示瞭如何從Web API將JSON數據導入到Core Data。這可能與您的用例有關。不幸的是,那裏的視頻花費9美元/月,但恕我直言,他們正在做一個了不起的工作。
酷男!謝謝一堆!是的,關於第二個鏈接,更多我正在尋找的應用程序,我正在努力將圍繞提供離線數據後首次下載的內容......如果這是有道理的。 – HurkNburkS 2012-07-16 22:04:11
關於第二個選項(我不是在與兩個以上的公司affilated),你能詳細說說..我不明白的地方,你說(做所有的進口中位的iOS應用程序).. 我不需要確切的細節只是一個更詳細的解釋,我可以從那裏做休息,非常感謝您花時間回答。 – HurkNburkS 2012-07-15 22:19:44
我的意思是你必須直接與SQLite商店交互 - 直接在iOS上使用SQLite。假設您知道該模式可以讀出這些值,然後使用您爲其定義的模式創建Core Data對象,填充這些對象,然後將它們保存在Core Data中。如果你是谷歌的「iOS SQLite」,你會看到許多頁面的代碼示例如何在iOS應用程序中讀取sql。 – 2012-07-16 13:42:57
好的,謝謝你,我在這之前就已經完成了這項工作,所以只需要再次查看代碼就可以將它恢復到我的腦海中,我應該很甜。感謝您的幫助:) – HurkNburkS 2012-07-16 20:17:36