我可以在 中创建一个NSURLConnection
带有异步请求的对象applicationDidFinishLaunching:
,而不是在实例变量中保留对它的引用,如下所示?
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
NSURLConnection *localVariable = [[NSURLConnection alloc] initWithRequest:req delegate:self];
}
我相信这在不使用 ARC 时应该可以工作。虽然我不再对该NSURLConnection
对象有任何引用,但它应该完成它的工作并且不会被释放,直到我在它的一个委托方法中释放它,比如connectionDidFinishLoading:
,因为它applicationDidFinishLaunching:
的保留计数为 +1,对吧?
然而,问题是:这被认为是不好的风格吗?我是否应该始终维护具有这种对象关系的实例变量?我该怎么做才能使这项工作与 ARC 一起使用?毕竟,当localVariable
超出范围时NSURLConnection
,我想 ARC 会释放 my 。