Objective c 目标C:呼叫者发送的地址与被呼叫者接收的地址不同?

Objective c 目标C:呼叫者发送的地址与被呼叫者接收的地址不同?,objective-c,cocoa-touch,Objective C,Cocoa Touch,出于某种原因,我会随机弹出这个问题,其中被调用的方法接收到一个错误的地址,并导致应用程序崩溃。当然,这并不少见,但当我检查碰撞方法上方的框架时,我要传递的对象的地址与被调用方法中参数的地址完全不同。尝试将要访问的属性设置为原子属性——还要验证并确保在正在操作的对象的超类中没有其他属性与名称重叠。我们需要更多信息比这更好,最好是一些代码。但问题可能不是你想的那样。如果你在被调用的方法中做了一些破坏堆栈框架的事情——一点不可靠的指针算法或其他东西——那么崩溃后参数和局部变量的明显值可能不是它们所要做

出于某种原因,我会随机弹出这个问题,其中被调用的方法接收到一个错误的地址,并导致应用程序崩溃。当然,这并不少见,但当我检查碰撞方法上方的框架时,我要传递的对象的地址与被调用方法中参数的地址完全不同。

尝试将要访问的属性设置为原子属性——还要验证并确保在正在操作的对象的超类中没有其他属性与名称重叠。

我们需要更多信息比这更好,最好是一些代码。但问题可能不是你想的那样。如果你在被调用的方法中做了一些破坏堆栈框架的事情——一点不可靠的指针算法或其他东西——那么崩溃后参数和局部变量的明显值可能不是它们所要做的。嗯,除了在方法中使用基本属性获取程序之外,我没有做任何不可靠的事情,但我正在并行地进行许多多线程处理。因此,与调用的方法破坏堆栈帧不同,我猜另一个线程可能正在更改上述帧中的地址,以便我看到的值不同。谢谢