没有 ARC 的 WatchKit 在 dealloc 时会导致崩溃

WatchKit without ARC causes crash when dealloc

我正在开发的手表应用没有使用 ARC。所以我释放了dealloc中每个接口中对象的所有属性,如下所示。

-(void)dealloc {

  [obj1 release];
  [obj2 release];
   ...
  [super dealloc];
}

当我关闭界面(例如返回主界面)时,这会导致崩溃。为什么会这样?

需要根据您的 class 平衡保留和释放。当您分配给其中一个实例变量时,您可能没有保留,因此它是过度释放。如果是这种情况,您可以尝试启用僵尸程序以将消息捕获到已释放的实例。