我創建了一個NSURLSession對象,但沒有挽留它NSURLSession對象必須保留
{
NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
NSURLSession * session = [NSURLSession sessionWithConfiguration:configuration delegate:self delegateQueue:nil];
NSURLSessionDataTask *task = [session dataTaskWithURL:[NSURL URLWithString:urlRequest]];
[task resume];
}
然後我實現了系統的代表:
- (void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task didCompleteWithError:(NSError *)error
{
....
}
- (void)URLSession:(NSURLSession *)session dataTask:(nonnull NSURLSessionDataTask *)dataTask didReceiveResponse:(nonnull NSURLResponse *)response completionHandler:(nonnull void (^)(NSURLSessionResponseDisposition))completionHandler
{
....
completionHandler(....);
}
....
的代碼工作正常,沒有任何問題了。但我想知道系統調用委託之前會話對象是否可以解除分配?如果會話對象被釋放,代表會發生什麼?
在此先感謝。