考虑以下代码 - 显然是非 ARC:
.
.
.
NSString* someValueToSend= [NSString alloc] initWithString@"Send me! Will I survive?"];
if([delegate respondsToSelector:@selector(giveMeYourString:)])
{
[delegate performSelector:@selector(giveMeYourString:) onThread:someOtherThread withObject:someValueToSend waitUntilDone:NO];
}
[someValueToSend release];
.
.
.
根据应用程序中发生的其他情况,委托可能会或可能不会在 someValueToSend 释放之前运行该选择器。“系统”是否对对象进行了“礼貌”保留?
如果不是,并且我处于无法阻止的情况,那么在没有泄漏的情况下跨边界发送值的好策略是什么?自动释放?
我确实在其他地方找到了一个参考,说该对象被保留,但我在文档中没有看到......
任何输入表示赞赏。