【发布时间】:2012-05-28 01:06:40
【问题描述】:
如果我有这样的代码:
-(void) func {
ObjectA* A = [[ObjectA alloc]init];
[something doSomething:blah andDelegate: A];
}
假设 doSomething 的调用将发出一个 http 请求调用,因此只有在收到来自服务器的响应时才会调用委托。在这种情况下,会有延迟。 注意:something 是类的实例变量。
如果我调用 'func' 两次,A 的第一个初始化是否会在它收到委托的响应之前被泄露。假设收到响应时调用委托函数时有释放操作。
我想到这个的原因是,如果在第一个委托完成它的角色之前,第二个初始化的“A”作为委托传递给某个东西。 'A' 的第二个初始化会取代 'A' 的第一个初始化吗?
【问题讨论】:
标签: objective-c memory-management memory-leaks delegates