簡體   English   中英

如何在NSURLSession中使用委托

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM