我需要确认一下。
我有这样的代码
@implementation A
(void) read
{
NSURLConnection *conn =
[[NSURLConnection alloc] initWithRequest:request delegate:self];
...
}
@end
@implementation B
(void) someFn()
{
A anObject = [A alloc] init]
[anObject read]
}
@end
将anObject
作为有效对象,直到连接完成,因为它作为委托传递给NSURLConnection?
答案 0 :(得分:0)
如果您使用ARC,那么我认为它会。
A
只有在连接结束时才可释放,因为持有引用的是连接。
然后,您在A
中执行了对B
的另一个引用。
因此,如果在anObject
中某个时间未使用someFn()
并且内部引用需要保持活动状态,那么它将无效,直到它没有内部引用。