一个__autoreleasing修饰符的问题
我们知道,在ARC模式下,__autoreleasing修饰符要和@autoreleasepool块配合使用,在@autoreleasepool块执行完的时候,会往修饰为__autoreleasing的对象发送release消息。
假设有这么一个方法:
-(BOOL)performOperationWithError:(NSError * __autoreleasing *)error {
...
//如果发生了错误
*error = [[NSError alloc] initWithDomain:myAppDomain code:userCode userInfo:nil];
return NO;
}
如果调用这个方法的时候并没有手动写上@autoreleasepool块,那么方法内部这个autorelease的*error,它对应的@autoreleasepool块应该是哪个呢?
是main函数里的@autoreleasepool块?还是另外有隐藏的@autoreleasepool块?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论