2014-03-18 80 views
0

我有編寫Android代碼的經驗,但我對iOS完全陌生。我決定通過創建一個Android應用程序並將其移植到iOS來學習它的一種好方法。我沒有一個完整的Android應用程序,也沒有了解它不易移植,所以我決定在寫入時逐一移植。端口Android SQLite到iOS

我在開始學習iOS還有SQLite之後創建了Android SQLite數據庫,並認爲這將是一個容易讓我受潮的地方。

我一直在尋找如何移植我寫的Android代碼,但是我可以找到很少的代碼。移植其他方向似乎更常見。更糟糕的是,似乎缺少SQLite的iOS文檔,因爲我稱之爲CoreData的東西就是我們所建議的東西。

我已經有一個contract中的所有SQL語句,包括所有SQL表定義和索引,並將它們移植到C.但是,我沒有找到在iOS上使用合約的任何示例。

有沒有關於這個或一個例子的任何文檔?如果不是,我誤解了什麼?

再一次,這裏總的iOS新手,所以只是一個簡單的方向將是有益的。

thx。

回答

1

旁觀FMDB。它是SQLite的Objective-C包裝器。它具有簡單的語法,類似於Android中的SQLiteDatabase。據我所知,iOS開發沒有類似Android合同。 嘗試從FMDB使用FMDatabaseQueue。它允許以線程安全的方式訪問數據庫。

P.S. CoreData是適用於iOS和OS X的ORM。如果您擁有Android合約,則使用FMDB將它們移植到iOS更容易。

+0

這看起來像我想要的。我可以使用一個使用FMDB的簡單應用程序的例子。但這不是我發佈的問題,所以我會將其標記爲已回答。謝謝。 – Mitch

0

核心數據有它自己的數據結構,你可以看看它,你會看到這樣的事情:這裏

輸入圖像描述

從模型

表是由Z前綴,這樣你就可以完美地查詢這個SQLite數據庫在Android中有SQL查詢。

注意:你能找到的文件夾中有模擬器運行過程中出現您的應用程序在此之後的SQLite文件:

/Users/<you_name>/Library/Application Support/iPhone Simulator/<ios_version>/Applications/<app_id>/Documents/<app_name>.sqlite 
+0

這是一個可怕的想法。核心數據的表結構使用「Z」,但這並不意味着您可以通過這種方式構建核心數據模型。核心數據不是SQLite。 –

+0

圖片不見。 –

0

如果你已經有了一個SQLite 3數據庫文件,你可以從數據庫中直接拖放(或通過網絡下載)到你的iOS應用程序中,並使用LabQLite來控制它,它可以作爲Objective-C之間的ORM/Swift和SQLite。

您還可以找到associated model class generator

使用LabQLite設置您的iOS應用程序和來自發生器的模型應該相當快。

聲明:我開發了這兩種產品。