使用通知时,请遵循以下准则。使用违反这些准则的通知可能会导致应用程序出现不可预知的结果。
- 不要依赖通知触发的顺序。
你可以指望之前被解雇和之前被解雇。如果在引入新通知或重新排列现有通知时更改序列,则依赖任何其他序列可能会导致应用程序出现问题。commandWillStart()commandEnded(),beginInsert()endInsert()
- 不要依赖通知之间的操作顺序(函数调用)。
如果将应用程序绑定到此详细级别,则应用程序在将来的版本中可能会失败。
不要依赖序列,而是依靠通知来指示系统的状态。例如,当您收到有关对象 A 的通知时,这意味着对象 A 已被擦除。如果您在 A 上收到通知,然后在 B 上收到通知,则仅表示对象 A 和 B 都被擦除。系统不保证 B 在 A 之后始终被擦除。erased(kTrue)erased()erased()
- 请勿在通知回调函数中使用任何用户交互函数,例如,,,或任何其他函数。acedCommandS()/acedCommandC()acedGetPoint()acedGetKword()acedXXX()
类似的解释也适用于数据库反应器、编辑器反应器和事务反应器上的通知。
|