0

我正在尝试在 Swift 中编写一个 NSURLSessionDataTask ,但我不知道如何,我有这个 Objective C 方法,这几乎正是我想要在 Swift 中做的事情。

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *task = [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *)response;
     if (httpResponse.statusCode != 200) return;


     NSDictionary *responseDict = [XMLReader dictionaryForXMLData:data options:XMLReaderOptionsProcessNamespaces error:&error];
     NSDictionary *body = responseDict[@"Envelope"][@"Body"];

     dispatch_async(dispatch_get_main_queue(), ^{
     if (block) block(body, nil);
     });
}];

我试了又试,还是想不通!我希望社区可以。这就是我现在用于本节的 swift 代码。:)

var session: NSURLSession = NSURLSession.sharedSession()
var task: NSURLSessionDataTask = session.dataTaskWithURL(request, completionHandler: { (<#NSData!#>, <#NSURLResponse!#>, <#NSError!#>) -> Void in

        var httpResponse: NSHTTPURLResponse
        httpResponse = NSHTTPURLResponse(response: NSHTTPURLResponse)

})

有任何想法吗?一个解释会很好,我试图在文档中阅读这个,但这有点令人困惑。还。如果这是一个双重职位,请链接我!我试过寻找,但找不到任何接近的东西。

4

0 回答 0