iOS小记--postNotificationName闪退

  • 遭遇crash
    一开始我也没有想到[NSNotificationCenter postNotificationName:object:]这个人畜无害的系统函数带来莫名其妙的闪退。所以在查代码之初,我压根就没有怀疑过它。


    iOS小记--postNotificationName闪退_第1张图片
    截张图
  • 原因
    说起来原因就是对于通知中心的错误使用,监听postName的观察者没有remove。详情请看

  • 学习
    - (void)postNotificationName:(NSNotificationName)aName object:(NSString *)anObject; notificationName Name of the notification to post. Must not be nil. notificationSender Sender of the notification. May be nil.
    通知中心在添加观察者时使用了unsafe_unretained,这篇文章作了详细的介绍。
    通知中心在发通知的时候做的事情大致如下:

  • 收到指定* notificationName*的消息,
  • 检查有没有这个消息的观察者,
  • 给观察者发消息

你可能感兴趣的:(iOS小记--postNotificationName闪退)