IOS開發中用多執行緒的實現除了使用NSThread實現之外,還可以用NSOperation實現。本經驗通過使用NSOperation來實現多執行緒下載網路圖片。
工具/原料
XCode7.2
方法/步驟
新建一個IOS工程,並在ViewController.m中的viewDidLoad函式中使用NSOperationQueue建立一個多執行緒佇列。建立好多執行緒佇列之後,我們就可以新增多執行緒到這個佇列中了。
使用NSBlockOperation建立一個執行緒bop,根據url下載網路圖片。這是一個函式塊,相當於C語言中的函式。在這個塊中編寫下載圖片的語句。
把上一步建立好的多執行緒新增到第一步建立好的多執行緒佇列中。我們還可以使用相同的方法新增其他的執行緒到這個多執行緒佇列中。
實現多執行緒任務bop的方法。
實現圖片顯示的方法,圖片下載好了,我們需要讓它顯示在手機螢幕上,這樣我們才知道下載圖片的任務有沒有成功。
在專案的Info.Plist中新增App Transport Security Setting,並在其下面新增Allow Arbitrary Loads,設定屬性為YES,具體參考圖示。這一步是為實現http訪問網頁的功能。也可以通過在Info.Plist的程式碼中新增以下程式碼來實現。
完成以上步驟之後,執行專案,模擬器就把url指向的圖片下載到手機並顯示到UIImageView上了。