[英]How to use delegates with NSURLSession
我想通過使用委托處理Twitter請求的結果(我不能使用默認的基於塊的方法)。
這是我設置請求的方式:
NSArray *twitterAccounts = [self.accountStore
accountsWithAccountType:twitterAccountType];
SLRequest *request = [SLRequest
requestForServiceType:SLServiceTypeTwitter requestMethod:
SLRequestMethodGET URL:url parameters:params];
request.account = twitterAccounts.lastObject;
NSURLSessionDataTask *dataTask = [[NSURLSession
sharedSession] dataTaskWithRequest:[request
preparedURLRequest]];
[dataTask resume];
如何指定我要使用委托來處理響應? 不幸的是, NSURLSessionDataTask
及其相關類上沒有delegate
屬性。
對我來說,將塊嵌入是比較干凈的,這樣您可以確切地看到流是什么,但每個流都是自己的。
在這種情況下,您可以通過使用塊來調用所需的任何方法來偽造委派。
您可以將NSURLSessionDataTask
子類NSURLSessionDataTask
以添加委托屬性,並自動添加正確的塊以調用適當的委托方法。 多年來,塊支持者一直使用相反的方法將基於委托的回調轉換為基於塊的回調:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.