除了以內建的函式呼叫API之外,還可以使用套件,例如AFNetworking等
本文章是用內建的函式呼叫。
因照做之後無法順利執行,且他的範例中包含下載圖片。
因此練習做了一個功能比較單純的範例。
1.取得 API 網址
2.撰寫送出request的設定
3.task是送出request。
- 解析收到的data,轉換編碼utf8,就是string那個,是JSON的格式
- 將string分解成想要的物件,例如NSArray等
4.task.resume() 執行task送出request
NSURLRequest解釋
URL:API網址cachePolicy:一個具有暫存的特定策略
timeoutInterval:連線最大秒數
cachePolicy策略選擇
- useProtocolCachePolicy
- default
- 用於特定的URL加載請求
- reloadIgnoringLocalCacheData
- 舊稱為NSURLRequestReloadIgnoringCacheData
- 忽略local cache data,直接從網址撈
- reloadIgnoringLocalAndRemoteCacheData
- 忽略local cache data
- 只要protocol同意,指示該代理和其他中間設備忽略local cache data
- Unimplemented
- reloadIgnoringCacheData
- reloadIgnoringLocalCacheData的舊稱
- returnCacheDataElseLoad
- 優先使用現有的cache data,就算是很久以前或是已經過期的資料依然使用
- 如果要的資料不存在於現有的cache,才從URL讀取
- returnCacheDataDontLoad
- 使用local cache data
- 沒有local cache data,也不透過URL讀取
- 常用於『離線』模式
- reloadRevalidatingCacheData
- 如local cache data是有效的,則使用local cache data
- 如與來源確認資料非有效,則從URL讀取
- Unimplemented
數據任務便利方法。 這些方法創建了繞過正常委託,並提供了一個簡單的可取消異步接口來接收數據。
data:接收的資料
response:回應的內容。如:status code及headers{Cache-Control、Content-Type、Date、Expires、Server、Set-Cookie、Transfer-Encoding}
error:錯誤內容
response:回應的內容。如:status code及headers{Cache-Control、Content-Type、Date、Expires、Server、Set-Cookie、Transfer-Encoding}
error:錯誤內容
0 意見:
張貼留言