iPhone開發 資料持久化

2021-05-27 18:14:03 字數 1962 閱讀 8769

在開發應用程式的時候,當然需要經常的實用資料庫進行資料的儲存了,在移動裝置上,我們可以使用檔案,資料庫等方式去儲存,為了能夠讓使用者無法使用其他的程式去修改,我這裡認為使用資料庫的方式是乙個很好的方式。在iphone上面,我們可以使用sqlite進行資料的持久化。另外值得一提的是firefox是使用資料庫的方式儲存的,同樣也是sqlite。

在iphone開發重,我們需要首先新增乙個sqlite的庫,xcode本身就支援的,我們在左邊的frameworks裡面選擇add,然後選擇existing frameworks,在彈出視窗中選擇sqlite的庫libsqlite3.0.dylib。

新增之後,我們就可以使用sqlite在iphone中進行資料的儲存,查詢,刪除等操作了。

現在我們可以寫乙個sqlite的helper檔案,方便我們在其他的**中使用,標頭檔案(sqlitehelper.h)如下。

#import 

<

foundation

/ foundation.h

>

#import 「sqlite3.h「

#define kfilename @」mydatabase.sql」@inte***ce sqlitehelper : nsobject

//建立表

- (bool)createtable;

//插入資料

- (bool)insertmaintable:(nsstring*) username insertpassword:(nsstring*) password;

//查詢表

- (bool)checkifhasuser;

@end

我們的**檔案如下。

#import 

「 sqlitehelper.h

@implementation sqlitehelper

nslog(@」database file path is %@「,paths);

if(filefinded)

}else

}char *errormsg;

nsstring *createsql = @」create table if not exists fields (userid integer primary key,username text,password text)「;

if(sqlite3_exec(database,[createsql utf8string],null,null,&errormsg)!=sqlite_ok)

return yes;

}- (bool)insertmaintable:(nsstring*) username insertpassword:(nsstring*) password

nsstring *insertdata = [[nsstring alloc] initwithformat:@」insert or replace into fields (userid,username,password) values (%d,』%@』,'%@』)「,0,username,password];

if(sqlite3_exec(database,[insertdata utf8string],null,null,&errormsg)!=sqlite_ok)

return yes;

}- (bool)checkifhasuser

//sqlite3_finalize(statement);

if(sqlite3_step(statement) == sqlite_row)

}nslog(@」no user「);

return no;

}@end

其中checkifhasuser是檢查資料,這個方法中我注釋的是得到資料,因為我們這裡只是check,所以不需要得到資料,直接看是否存在資料即可。上面的**雖然沒有過多的注釋,但是**本身已經很簡單了,上下文也非常清楚,所以我就不寫過多的注釋了。

iOS開發 資料持久化 歸檔

在ios開發過程中,很多時候都需要進行一些資料的儲存和讀入,在資料量不大的情況下,使用plist儲存資料是一種很方便的方式,但是plist只能允許儲存一些系統自帶的資料型別,如果需要儲存自定義的資料型別,plist是是用不了的,但是可以使用另外一種資料持久化的方法 物件歸檔。nscoding協議 要...

資料持久化

資料持久化就是將記憶體中的資料模型轉換為儲存模型,以及將儲存模型轉換為記憶體中的資料模型的統稱.資料模型可以是任何資料結構或物件模型,儲存模型可以是關係模型 xml 二進位製流等。cmp和hibernate只是物件模型到關係模型之間轉換的不同實現。只不過物件模型和關係模型應用廣泛,所以就會誤認為資料...

資料持久化

首先是cocos2d x自己封閉的ccuserdefault跨平台的檔案儲存類,它是用的xml格式,具體操作非常類似於應用開發的ini檔案,可操作性不是很強,如果訪問比較複雜的資料,那就得自己動手去解析乙個字串,下面是示例 基本一看就懂 void userdefaulttest dotest els...