NSNotification常见面试问题

1 使用了单例和观察者模式

2 观察者和发出通知的,在同一个线程,且和发出通知者在同一线程

3 NSNotificationName可为空nil,空字符串也可视为是一个name。当NSNotificationName为nil时,会接受所有通知

4 部分原理:存在name和nameless两个表,在注册观察者时,根据name是否为空会添加到对应的表中。当一个通知被触发时,先在name表中寻找观察者,对其发送通知,然后再给nameless表中所有观察者发送通知。(只有当object也为nil时触发此逻辑)

你可能感兴趣的:(NSNotification常见面试问题)