NSData快取的使用

2021-06-26 18:48:16 字數 2187 閱讀 3148

nsstring

*filename =

@"testfilensfilemangager.txt"

;nsarray

*paths =

nssearchpathfordirectoriesindomains

(nsdocumentdirectory

,nsuserdomainmask

,yes

);nsstring

*documentsdirectory = [paths

objectatindex:0

];nsstring

*path = [documentsdirectory

:filename];

//獲取檔案路徑

nsstring

*temp =

@"nihao世界"

;//要寫入的資料

intdataint =

1234

;float

datafloat =

3.14f

;nsmutabledata

*writer = [[

nsmutabledata

alloc

]init

];//

建立快取

[writer

:[temp

datausingencoding

:nsutf8stringencoding

]];[writer

:&dataint

length

:sizeof

(dataint)];

[writer

:&datafloat

length

:sizeof

(datafloat)];

//將資料新增到快取區

[writer

writetofile

:path

atomically

:yes

];//

將快取區資料寫入檔案

intintdata;

float

floatdata =

0.0;

nsstring

*stringdata;

nsdata

*reader = [

nsdata

datawithcontentsoffile

:path];

if(reader ==

nil)

stringdata = [[

nsstring

alloc

] initwithdata

:[reader

subdatawithrange

:nsmakerange(0

, [temp

lengthofbytesusingencoding

:nsutf8stringencoding

])]

encoding

:nsutf8stringencoding

];//注意在長度返回時使用lengthofbytesusingencoding:nsutf8stringencoding方法即可

nslog

(@"%i"

,[temp

length

]);[reader

getbytes

:&intdata

range

:nsmakerange

([temp

lengthofbytesusingencoding

:nsutf8stringencoding

], sizeof

(intdata))];

[reader

getbytes

:&floatdata

range

:nsmakerange

([temp

lengthofbytesusingencoding

:nsutf8stringencoding

] +

sizeof

(intdata),

sizeof

(floatdata))];

nslog

(@"string %@ intdata %d floatdata %f"

,stringdata,intdata,floatdata);

UIImage與NSData間的轉換

這樣子?uiimage imagecopy image copy 但你會發現image被編輯之後,通過imagecopy 獲取到的也是編輯過的 淺拷貝 你是不是想說那我mutablecopy,呃?想法不錯,但是uiimage沒有實現這個協議啊!那怎麼辦,自己實現nsmutablecopying 協議...

OC中NSData的基本用法

nsdata data1 nsdata data 2 將字串轉換成nsdata 使用const關鍵字來將乙個變數變為常量。const修飾的常量也稱為 命名常量 或者 符號常量 const char str hello nsdata data2 nsdata datawithbytes str len...

快取的使用

關於快取的方法即用法介紹,命名空間 system.web.caching。第一 cache中的add方法 引數 cache.add string key,cache中的鍵 object value,cache中的值 cachedependency dependencies,依賴的項,可以是某個檔案路...