在軟件開發中,從網絡獲取照片是必不可少的
(首先說明一下,由於iOS9中新增App Transport Security(簡稱ATS)特性,簡單說就是原來請求用的HTTP要換成HTTPS,目的是更安全。但是我們請求的時候很可能用到http,直接請求http的話,控制檯會打印一條消息:App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure.
Temporary exceptions can be configured via your app's Info.plist file.意思大概就是http不能用啦,不過在info.plist文件中臨時修改設置還是可以訪問的。
那我們就把它ATS這個新要求停掉:在Xcode的info.plist文件中添加一條Dictionary類型的App Transport Security
,再給它添加一個布爾型的子節點Allow Aritrary Loads
,並將這個子節點布爾值設爲 YES,就可以了)
下面正式介紹方法:
一:首選的當然是NSData自帶方法請求到數據然後賦給ImageView,代碼如下:
//首先得拿到照片的路徑,也就是下邊的string參數,轉換爲NSData型。
NSData* imageData = [NSData dataWithContentsOfURL:[NSURL URLWithString:string]];
//然後就是添加照片語句,記得使用imageWithData:方法,不是imageWithName:。
UIImage* resultImage = [UIImage imageWithData: imageData];
是不是超級簡單?但是具體使用了幾次發現系統這種方法在照片多的時候特別的卡,因爲它每次都要請求照片,建議使用SDWebImage.