iOS小记--postNotificationName闪退

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


    截张图
  • 原因
    说起来原因就是对于通知中心的错误使用,监听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*的消息,
  • 检查有没有这个消息的观察者,
  • 给观察者发消息
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容