資料持久化是通過檔案將資料儲存在磁碟上
ios有四種資料持久化方式
1.屬性列表(property list)。簡單易用,適合小資料量的儲存和查詢操作,但是不適合大量資料的儲存.
屬性列表**
//1屬性列表(property list)
nsarray
*plist =
@[@"name"
,@"age"];
//指定儲存的地方
nsstring
*file = [
nshomedirectory
() :
@"/documents/database.plist"
];//將建立的陣列儲存到指定的路徑下
[plist
writetofile
:file
atomically
:yes
];2 物件歸檔(把資料進行序列化儲存),好處:1對資料進行加密,2檔案儲存的方式是序列化的。但是它也不適合大量資料的儲存.
物件歸檔**
//2物件歸檔
nsdictionary
*dic = @;
//建立歸檔物件
//指定要儲存的地方
nsstring
*topath = [
nshomedirectory
() :
@"/library/data.archiver"
];nslog
(@"topath:%@"
,topath);
bool
success = [
nskeyedarchiver
archiverootobject
:dic
tofile
:topath];
if(success)
//解歸檔
bool
succ = [
nskeyedunarchiver
unarchiveobjectwithdata
:[nsdata
datawithcontentsoffile
:topath]];
if(succ)
3 sqlite資料庫(是按照資料結構來組織,儲存和管理資料的倉庫),sqlite資料庫一種輕型的關聯式資料庫管理系統,它占用資源特別低,很適合移動裝置中使用,而且是開源免費的,使用時要新增sqlite3.0框架,基於c語言,順序,第三方框架ego(oc介面,),適合大資料量的儲存和查詢操作.
4core data,它不是資料庫,他可以使用資料庫、xml的方式來儲存資料.它以物件導向的形式儲存資料,可以不需要寫sql語句,適合大資料量的儲存和查詢,使用時需要匯入coredata框架
5.nsuserdefault和應用程式繫結的,放在應用程式內建的bundle的plist檔案中.
偏好設定**:
偏好設定
nsuserdefaults
*defaults = [
nsuserdefaults
standarduserdefaults
];//設值
[defaults
setbool
:yes
forkey
:@"nii"
];[defaults
setobject
:@"lily"
forkey
:@"haha"
];//同步資料
[defaults
synchronize];
sqlite通過sql語句運算元據,coredata使用物件導向的方式運算元據
sqlite資料庫,sqlite最新版本是3.0,使用前需要匯入libsqlite3.0dylib,sqlite3.0使用的是c的函式介面
二:運算元據局庫的流程
(1)開啟資料庫
(2)編譯sql語句
(3)執行sql語句
(4)銷毀sql語句
(5)關閉資料庫
三:常用的sql語句
/** ddl 資料定義語言 **/
(1)建立**
create
table
t_student (id
integer
, name
text
, age
integer);
create
table t_movie (id integer
primary
key,name text,director text);
create
table
t_movie (id
integer
primary
keyautoincrement
,name
text
,director
text);
create
table
ifnot
exists
t_movie (id
integer
primary
keyautoincrement
,name
text
, director
text)
(2)刪除**
drop
table
t_student;
/** dml 資料操作語言 **/
(1)插入一條資料,字串在sql用單引號
insert
into t_student values (1, '張三', 18);
insert
into t_student (name, age) values ('丁三', 90)
(2)修改、更新資料,如果你沒有指定條件(限定條件),全部會修改
update t_student set age = 20;
update t_student set age = 13 where id = 2;
(3)刪除表的記錄(內容)
delete
from t_student;
(4)條件的限定 or and
update t_student set age = 13 where id = 2 or id = 3;
update t_student set age = 99 where id >= 2;
/** dql 資料查詢語言 **/
select * from
t_student; // 查詢所有資料
select id identifier, name s_namefrom t_student; // 查詢2欄位資料,取別名
select
*from t_student where age > 20;
select
*from t_student order
by age desc; // 預設asc,公升序
select count(*)from t_student; // 查詢表中存在多少條記錄
select sum(age) from t_student; // 查詢表age所有記錄之和
select max(age) from t_student where id = 2 or id = 3;
select
*from t_student limit 0, 5; // n * (n - 1), 6
資料持久化
資料持久化就是將記憶體中的資料模型轉換為儲存模型,以及將儲存模型轉換為記憶體中的資料模型的統稱.資料模型可以是任何資料結構或物件模型,儲存模型可以是關係模型 xml 二進位製流等。cmp和hibernate只是物件模型到關係模型之間轉換的不同實現。只不過物件模型和關係模型應用廣泛,所以就會誤認為資料...
資料持久化
首先是cocos2d x自己封閉的ccuserdefault跨平台的檔案儲存類,它是用的xml格式,具體操作非常類似於應用開發的ini檔案,可操作性不是很強,如果訪問比較複雜的資料,那就得自己動手去解析乙個字串,下面是示例 基本一看就懂 void userdefaulttest dotest els...
資料持久化
viewcontroller.m 資料持久化 created by dllo on 15 8 19.import viewcontroller.h import student.h inte ce viewcontroller end implementation viewcontroller vo...