IOS開發中用NSOperation實現多執行緒下載網路圖片?

Tags: 圖片, 網路, 中用,

IOS開發中用多執行緒的實現除了使用NSThread實現之外,還可以用NSOperation實現。本經驗通過使用NSOperation來實現多執行緒下載網路圖片。

工具/原料

XCode7.2

方法/步驟

新建一個IOS工程,並在ViewController.m中的viewDidLoad函式中使用NSOperationQueue建立一個多執行緒佇列。建立好多執行緒佇列之後,我們就可以新增多執行緒到這個佇列中了。

IOS開發中用NSOperation實現多執行緒下載網路圖片

使用NSBlockOperation建立一個執行緒bop,根據url下載網路圖片。這是一個函式塊,相當於C語言中的函式。在這個塊中編寫下載圖片的語句。

IOS開發中用NSOperation實現多執行緒下載網路圖片

把上一步建立好的多執行緒新增到第一步建立好的多執行緒佇列中。我們還可以使用相同的方法新增其他的執行緒到這個多執行緒佇列中。

IOS開發中用NSOperation實現多執行緒下載網路圖片

實現多執行緒任務bop的方法。

IOS開發中用NSOperation實現多執行緒下載網路圖片

實現圖片顯示的方法,圖片下載好了,我們需要讓它顯示在手機螢幕上,這樣我們才知道下載圖片的任務有沒有成功。

IOS開發中用NSOperation實現多執行緒下載網路圖片

在專案的Info.Plist中新增App Transport Security Setting,並在其下面新增Allow Arbitrary Loads,設定屬性為YES,具體參考圖示。這一步是為實現http訪問網頁的功能。也可以通過在Info.Plist的程式碼中新增以下程式碼來實現。

NSAppTransportSecurity

NSAllowsArbitraryLoads

IOS開發中用NSOperation實現多執行緒下載網路圖片

完成以上步驟之後,執行專案,模擬器就把url指向的圖片下載到手機並顯示到UIImageView上了。

IOS開發中用NSOperation實現多執行緒下載網路圖片

圖片, 網路, 中用,
相關問題答案