iOS檔案儲存學習

2021-09-25 07:39:28 字數 3137 閱讀 4374

//

// viewcontroller.m

// makestrong

//// created by momingqi on 2019/7/15.

//#import "viewcontroller.h"

#import

#import

#import

#import

@inte***ce user : nsobject

@property nsinteger uid;

@property nsstring *name;

@property float64 height;

@property user *subuser;

@end

@implementation user

-(nsstring *

)description

@end

@inte***ce viewcontroller (

)@end

@implementation viewcontroller-(

void

)viewdidload

//nsbundle 專案資源

;//nsuserdefault 儲存基礎資料,自定義物件需要實現nscoding;多執行緒安全

[[nsuserdefaults standarduserdefaults] setinteger:

3431 forkey:

@"key_for_tt"];

//手動同步

bool synresult =

[[nsuserdefaults standarduserdefaults] synchronize]

;nslog

(@"同步結果:%i"

, synresult)

; nsinteger result =

[[nsuserdefaults standarduserdefaults] integerforkey:

@"key_for_tt"];

nslog

(@"讀取userdefault:%d",(

int)result)

;//sqlite3 c語言風格

//建立/開啟資料庫

nsstring *path =

[nshomedirectory

(@"test_db.sqlite"];

nslog

(@"資料庫路徑:%@"

, path)

; sqlite3 *database;

sqlite3_open

([path utf8string]

,&database)

;//建表

const

char

*createsql =

"create table if not exists person(id integer primary key autoincrement, name char)"

;char

*err;

sqlite3_exec

(database, createsql,

null

,null

,&err)

;//釋放資源

sqlite3_close

(database)

;//fmdb

fmdatabase *fmdb =

[fmdatabase databasewithpath:path]

;[fmdb open]

;//插入資料

nsstring *insertsql =

@"insert into person(name) values(?)"

;[fmdb executeupdate:insertsql,

@"momingqi"];

//查詢資料 保證所有操作在同一佇列進行

fmdatabasequeue *sqlqueue =

[fmdatabasequeue databasequeuewithpath:path]

;//此方法是同步方法,會阻塞直到block被執行。

[sqlqueue indatabase:

^(fmdatabase * _nonnull db)}]

;[sqlqueue close]

;[fmdb close]

;//coredata orm操作

//載入物件模型

// nsstring *modelpath = [[nsbundle mainbundle] pathforresource:@"usermodel" oftype:@"momd"];

//nscoding

//yymodel 序列化工具 runtime實現 安全型別轉換 常見的crash保護

//json和物件互轉

nsstring *json =

@"";

user *user =

[user yy_modelwithjson:json]

;nslog

(@"轉物件:%@"

, user)

;nslog

(@"轉字串:%@"

,[user yy_modeltojsonstring]);

//mmkv

mmkv *mmkv =

[mmkv defaultmmkv]

; int32_t firstinstall =

[mmkv getuint32forkey:

@"first_install"];

nslog

(@"first_install=%d"

, firstinstall)

;[mmkv setint32:

-1 forkey:

@"first_install"];

}@end

IOS學習筆記 檔案載入和儲存

以下是將屬性列表檔案plist資料內容以二進位制形式寫入檔案的 void writecapitols void 如你所見,我們將陣列資料轉換成了nsdata型別並寫入了檔案中。將資料讀取回記憶體要多執行一步,即指定檔案的型別。我們建立了乙個指標,如果檔案格式與指定的型別不同,可以換用原格式型別的指標...

ios檔案儲存 NSFileHandle

一 內容追加 首先在根目錄建立乙個名為filehandletest.txt的檔案,然後往裡面追加內容 如下 nsstring homepath nshomedirectory nsfilehandle handle nsfilehandle filehandleforupdatingatpath f...

ios 儲存學習筆記

一 主要路徑 library caches 此檔案用於儲存那些需要及可延遲或重建立的臨時資料.且這些內容不會被ios 系統 備份,特別地,當裝置磁碟空間不足且應用不在執行狀態時,ios 系統可能會移除此檔案 夾中的內容 所以,不要讓你的應用太依賴此資料夾中的內容 二 獲取路徑的方法 nsfilema...