豆瓣電台總結(二)網路非同步資料獲取與協議傳值

2021-06-27 02:07:26 字數 965 閱讀 8617

一、網路非同步獲取資料

var nsurl:nsurl? = nsurl(string: url)

var request:nsurlrequest = nsurlrequest(url: nsurl!)

nsurlconnection.sendasynchronousrequest(request, queue:nsoperationqueue.mainqueue() , completionhandler:{(response:nsurlresponse!,data:nsdata!,error:nserror!) -> void in

var jsonresult:nsdictionary = nsjsonserialization.jsonobjectwithdata(data, options:nsjsonreadingoptions.mutablecontainers, error: nil) as nsdictionary

nsoperationqueue.mainqueue()將獲取資料這個任務放進主佇列。

completionhandler:資料處理

二、json解析

nsjsonreadingoptions.mutablecontainer:物件是可新增新值的mutable 型別的物件

三、**傳值

定義協議-宣告**-傳參

self.delegate?.didrecieveresults(jsonresult)

接收,實現方法

定義例項-宣告使用物件-實現方法

例項.delegate = slef (宣告此檢視使用delegate)-呼叫方法

3 2網路資料獲取

用requests庫的get 函式抓取乙個你平時經常使用的 主頁,並檢視該 的爬蟲協議 如果有的話 預設答案是正確,你成功了嗎?抓取 情況多樣,有時還會很複雜,這需要長期的積累,不能一蹴而就,列舉幾種情況 a.假設獲取的是二進位制檔案,則可以借鑑如下方法儲存資料 fp.write r.content...

day08 網路獲取資料

0servlet 什麼是servlet 解決什麼問題 接收http請求 產生乙個http響應 怎麼寫乙個servlet 建立乙個類 繼承httpservlet 重寫兩個方法 doget dopost httpservletrequest httpservletresponse 怎麼能訪問到servl...

flutter專案總結二(網路請求)

由於水平有限,網上有很多看起來封裝很好的例子,有一些 沒有看明白使用場合,先簡單封裝了一下,在自己專案中用著舒服就行了,畢竟這個封裝需要考慮後端的一些實現方式,先看下封裝的 import dart convert import package dio dio.dart import package ...