强制释放强声明的属性

You*_*sef 1 memory-management properties objective-c ios

有没有办法可以强制@property (strong, nonatomic)释放声明为强的类中的属性?

我收到了一份崩溃报告,其中一个属性正在被释放,但随后应用程序尝试从 AFHTTPRequest 中的 CompletionBlock 访问它们。但由于该财产被取消分配,该应用程序崩溃了。

我无法重现该场景,因此我需要一些东西来强制释放该属性,仅用于测试该场景。

我尝试使用 dealloc 方法,但 ARC 禁止它。

谢谢

Cod*_*aFi 5

您无法在 ARC 下“强制”释放对象。但是,您可以(某种程度上)建议通过将任何对象分配为 nil 来删除它,并且不在方法范围的其余部分中使用它。如果您在访问已释放的对象时遇到问题,那么您需要恰恰相反:保留拥有的对象,这样它就不会释放任何属性。