付費下載
下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
【移動應用開發(fā)技術】iOS多線程之NSOperation的使用
NSOperation對象的使用步驟NSOperation對象描述了一個操作任務;NSOperationQueue對象描述了一個任務隊列,相當于GCD的dispatch_queue_tNSOperation及NSOperationQueue可以任務是GCD之上的面向?qū)ο蠓庋bGCD提供了更底層的控制,NSOperationQueue在GCD之上實現(xiàn)了一些方便的功能,這些功能對于開發(fā)者而言通常是最好最安全的選擇
基本使用步驟:
1)定義操作隊列
2)定義操作
3)將操作添加到隊列提示:一旦將操作添加到隊列,操作就會立即被調(diào)度執(zhí)行任務隊列對象NSOperationQueue描述了任務隊列,使用兩種隊列:1)主隊列,其中的任務只在主線程中執(zhí)行,和GCD的主隊列一樣+
(NSOperationQueue
*)mainQueue2)自定義隊列,其中的任務會在子線程中執(zhí)行,和GCD的全局隊列一樣
使用alloc+init方式創(chuàng)建NSOperationQueue的其他方法:-
(void)cancelAllOperations
//取消所有的任務
-
(void)waitUntilAllOperationsAreFinished
//等待至所有任務結(jié)束
@property
NSInteger
maxConcurrentOperationCount
//隊列中任務的最大并發(fā)數(shù)
@property(assign)
dispatch_queue_t
underlyingQueue
//GCD的底層隊列任務對象及其子類NSOperation描述了一個任務,是一個抽象類型,應當使用其子類
NSBlockOperation和NSInvocationOperation1)NSBlockOperation使用block描述一個任務:+
(instancetype)blockOperationWithBlock:(void
(^)(void))block
還可以添加block,使其描述多個任務-
(void)addExecutionBlock:(void
(^)(void))block
2)NSInvocationOperation使用方法一個任務:-
(instancetype)initWithTarget:(id)target
selector:(SEL)sel
object:(id)arg
指定的方法可以有返回值,使用result屬性獲取@property(readonly,
retain)
id
result向任務度列中添加任務
使用任務隊列對象的addOperation方法:-
(void)addOperation:(NSOperation
*)operation
//不會阻塞當前線程的執(zhí)行
-
(void)addOperations:(NSArray<NSOperation
*>
*)ops
waitUntilFinished:(BOOL)wait
//可以阻塞當前線程還有一種直接傳遞block的添加任務方式:-
(void)addOperationWithBlock:(void
(^)(void))block總結(jié):三種添加任務的方式:
1)addOperationWithBlock:
2)添加NSBlockOperation任務
3)添加NSInvocationOperation任務異步下載圖片任務1:bo1對象,描述了一個下載任務任務2:bo2對象,將下載后的圖像對象顯示
任務1添加到自定義任務隊列中,在子線程執(zhí)行
任務2添加到主隊列中,在主線程執(zhí)行
任務的依賴通過任務的依賴可以方便地控制多個任務執(zhí)行的先后順序使用NSOperation的addDependency:方法添加依賴-
(v
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)業(yè)職業(yè)經(jīng)理人考試營養(yǎng)與食品安全知識與試題答案
- 2025年考研西醫(yī)綜合真題答案及解析大
- 電大土木工程本科《工程地質(zhì)》在線形考(作業(yè)1至4)試題及答案
- 醫(yī)學人文考試試題及答案
- 2026字節(jié)跳動校招試題及答案
- 初級園林綠化試題及答案
- 2026黑龍江農(nóng)業(yè)職業(yè)技術學院公開招聘博士3人參考題庫附答案
- 中國火箭公司2026校園招聘考試備考題庫附答案
- 北京市公安局輔警崗位招聘300人備考題庫附答案
- 吉安市2025年度市直事業(yè)單位公開選調(diào)工作人員【70人】備考題庫必考題
- AED(自動體外除顫儀)的使用
- 中國礦業(yè)權評估準則(2011年)
- 空調(diào)水系統(tǒng)設備的安裝
- 基于流行音樂元素的動畫電影娛樂性研究
- 讀書分享讀書交流會 《鄉(xiāng)村教師》劉慈欣科幻小說讀書分享
- iso9001質(zhì)量管理體系-要求培訓教材修訂
- 法人變更轉(zhuǎn)讓協(xié)議書范本
- ISTA-3A(中文版)運輸-試驗標準
- 市政排水管道工程監(jiān)理細則
- 垃圾分類 科普課件(共35張PPT)
- 小升初部編版2022-2023學年語文升學分班考真題專題沖刺模擬試卷(現(xiàn)代文閱讀)含解析
評論
0/150
提交評論