Ios 是否需要使用委托释放对象?

Ios 是否需要使用委托释放对象?,ios,objective-c,automatic-ref-counting,Ios,Objective C,Automatic Ref Counting,没有ARC我有一项任务要做。以前我没有使用它(最近开始研究ios开发)。我有一个表示http请求的类,它符合NSURLSessionDownloadDelegate协议。我还有以下代码: -(void)executeWithRelativeUrl:(NSString *)relativeUrl andSuccessBlock: (void(^) (NSData*))successBlock { NSURL *url = [[NSURL alloc] initWithString:rela

没有ARC我有一项任务要做。以前我没有使用它(最近开始研究ios开发)。我有一个表示http请求的类,它符合NSURLSessionDownloadDelegate协议。我还有以下代码:

-(void)executeWithRelativeUrl:(NSString *)relativeUrl andSuccessBlock: (void(^) (NSData*))successBlock {
    NSURL *url = [[NSURL alloc] initWithString:relativeUrl relativeToURL:self.baseUrl];
    [self setSuccessBlock:successBlock];
    NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url];
    NSURLSessionConfiguration *sessionConfiguration = [NSURLSessionConfiguration defaultSessionConfiguration];
    NSURLSession *session = [NSURLSession sessionWithConfiguration:sessionConfiguration delegate:self delegateQueue:nil];
    NSURLSessionDownloadTask *downloadTask = [session downloadTaskWithRequest:request];
    [downloadTask resume];

    [request release];
    [url release];
}
它创建url会话并启动下载任务。我用以下方法处理任务结果:

-(void)URLSession:(NSURLSession *)session downloadTask:(NSURLSessionDownloadTask *)downloadTask didFinishDownloadingToURL:(NSURL *)location {
    NSData *data = [NSData dataWithContentsOfURL:location];

    dispatch_async(dispatch_get_main_queue(), ^{
        self.successBlock(data);
    });

}
现在的问题是:我是否需要在最后一个方法的末尾发布会话、下载任务和位置url?否则我就完了?我这样问是因为我在第一个方法中创建了它(url除外),据我所知,负责释放对象的人也是我。谢谢

方法非常简单。你说的是
alloc
还是
copy
还是
retain
?不那么您就不需要说
release
(您也不能这么做)

(出于这个原因,您需要释放
url
请求,您正在这样做。因此内存管理现在已经完成。)

非常简单。你说的是
alloc
还是
copy
还是
retain
?不那么您就不需要说
release
(您也不能这么做)


(出于这个原因,您需要释放
url
request
,您正在这样做。所以内存管理现在完成了。)

我在第一个方法中说过,分配会话和下载任务。或者第二个方法中的对象不相同?您没有显示任何“分配”会话和下载任务的代码。你到底在说什么?啊。。。我不是用显式的“init”得到的。我现在明白了。谢谢你的回答!我在第一种方法中说过,分配会话和下载任务。或者第二个方法中的对象不相同?您没有显示任何“分配”会话和下载任务的代码。你到底在说什么?啊。。。我不是用显式的“init”得到的。我现在明白了。谢谢你的回答!最好是将downloadTask作为属性或数组中,或对其进行引用,以便在需要时可以取消它,等等。最好是将downloadTask作为属性或数组中,或对其进行引用,以便在需要时可以取消它,等等。