If I register for the same event multiple times, will it do anything? Or will I need to unregister that many times? If the latter, how can I check to see if I'm already registered to receive a particular event?
You will receive notifications multiple times. The docs claim there are some situations where you would want this, though I can't think of any.
You can use removeObserver:
or removeObserver:name:object:
immediately before adding the observer, to ensure it isn't added multiple times. There is nothing wrong with calling removeObserver:
with an object that isn't actually observing a notification.
Alternatively (and this is probably the highest performance and most reliable option) you could create your own NSSet
object to store exactly what objects you've added to that specific notification, and check if the one you're about to add a duplicate.