是否有可能告诉ARC忽略一个对象?

And*_*ies 3 xcode objective-c automatic-ref-counting

最近将一个现有的iPhone项目转换为使用ARC,并且部分代码停止工作并且不断崩溃.似乎ARC正在自动发布myRequest:

ServerRequest *myRequest = [[ServerRequest alloc] init];
Run Code Online (Sandbox Code Playgroud)

在一些代表职能被解雇之前,太早了.

现在我从阅读ARC知道你可以设置-fno-objc-arc针对特定文件的编译器标志来忽略ARC.然而,现在工作正常,我仍然非常喜欢使用ARC.我想知道是否有人知道某种方式,当你实例化一个对象时,告诉ARC不要管理它的释放,例如:

ServerRequest *myRequest = [[[ServerRequest alloc] init] ignoreARC];
Run Code Online (Sandbox Code Playgroud)

voi*_*ern 5

关闭一个变量的ARC?不可能.

您可能想尝试在实例变量中保存myRequest,因此ARC知道您仍然需要它.完成后,您可以通过将其设置为nil来释放它.