我应该保留我要返回的responseData
// METHOD
-(NSData *)dataFromTurbine:(NSString *)pathToURL {
NSURL *url = [[NSURL alloc] initWithString:pathToURL];
NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url];
NSHTTPURLResponse *response = nil;
NSError *error = nil;
NSData *responseData = [NSURLConnection sendSynchronousRequest:request
returningResponse:&response
error:&error];
[request release];
[url release];
return responseData;
}
// CALLED
NSData *newData = dataFromTurbine(kTurbineDataPath);
[doSomething newData];
答案 0 :(得分:6)
由于方法名称不是以init
,new
或copy
开头,因此dataFromTurbine
应返回自动释放的NSData实例。 (现在对于responseData已经是这样了)
然后调用方法拥有所有权,并且如果需要应该保留。
答案 1 :(得分:0)
总之,没有。
从NSURLConnection获取的NSData对象是自动释放的,因此只有在需要保留它时才应保留/释放它。否则,它将在下一次运行循环时自动为您释放。