一、建立檔案
說明:自定義檔案類,通過nsfilemanager 以及nsfilehandle 實現檔案的建立和copy,為了控制記憶體的併發使用,通過控制每次賦值的固定長度來分多次複製:
nsstring * path=nshomedirectory();二、設定觀察者desktop/boby.m"];
nsstring * target=nshomedirectory();
desktop/target.m"];
nsfilemanager * manager=[nsfilemanager defaultmanager];
//校驗並且建立檔案
if(![manager fileexistsatpath:path])
if(![manager fileexistsatpath:target])
nsdictionary * dic=[manager attributesofitematpath:path error:nil];
nsfilehandle * handle=[nsfilehandle filehandleforreadingatpath:path];
nsfilehandle * handlettarget=[nsfilehandle filehandleforwritingatpath:target];
int total=(int)[dic[@"
nsfilesize
"] integervalue];
self.totalsize=total;
int per=50
;
int count=total%per==0?total/per:total/per+1
;
for(int i=0;i)
self.nowsize=tem;
[handlettarget seektoendoffile];
[handlettarget writedata:data];
[nsthread sleepfortimeinterval:
0.2];
}[handle closefile];
[handlettarget closefile];
說明:自定義使用者,通過設定觀察者來動態觀察當前檔案copy的進度並展示到控制台或者輸出到ui,並提供方法介面,啟動檔案拷貝。
- (id) initwithfile:(filemake *)filesreturn
self;
}-(void)observevalueforkeypath:(nsstring *)keypath ofobject:(id)object change:(nsdictionary *)change context:(void *)context
}- (void
) begin
自定義KVO(探索KVO底層本質)
標頭檔案 import inte ce nsobject kvo void lyj addobserver nsobject observer forkeypath nsstring keypath options nskeyvalueobservingoptions options context...
自定義 ProgressBar 進度條 自定義樣式
今天學習給progressbar換個樣式,先看效果圖 c h,e d8 z f j x 原理 在xml檔案中分別定義進度條背景 第一進度顏色 第二進度顏色,然後在progressbar的android progressdrawable屬性應用即可。6 j a7 c h b k h q y g s d...
javascript實現自定義進度條
直接給 返回瀏覽器型別 ie,firefox,opera function getbrowser if browser isie true if browser isfirefox true if browser isopera true return type 生成靜態進度條 param prog...