Question: I've been playing about with the `NSNotificationCenter` and I've been wondering when you would use your own custom notification center rather than the `defaultCenter`? And what would the advantages of this be?

Forgive my ignorance, but it seems like I could get along quite happily just using the `defaultCenter` and nothing else, but I want to make sure I am not missing something vital.

Answer: 
Apple documentation is vague, and it just states that usually a programmer wouldn't need to create a new one: 

> 
> Each running Cocoa program has a default notification center. You typically don’t create your own. An NSNotificationCenter object can deliver notifications only within a single program.
> 
> 
> 

Full source: [NSNotificationCenter documentation](https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/nsnotificationcenter_Class/Reference/Reference.html).

However every notification center can handle a network of notifications, distinguished by name and object. When you add an observer you typically call the method in some way like this: 

```
[center addObserver: self selector: @selector(observe:) name: @"observe" object: someObject];

```

And when you post a notification you can specify the object: 

```
[center postNotificationName: @"observe" object: someObject];

```

This way say that you use N names and M objects, you can handle N\*M distinguished notifications. I think there is no need to use two notification centers. Theoretically if you have finished all names you can create another one using alloc+init, but I hardly see how it can actually turn out handy. 

Also consider that notification center is often used when there are two objects that do not own a direct pointer to each other (otherwise why not simply calling a method on it?), due to avoid complicated bindings (specially when you use a lot of xib files), so having an unique notification center object is very handy. 

If instead you use a notification center got with allot+init, then you must ensure that all the communicating objects have a pointer to that notification center, and this would add some complexity. All notification center's power would be wasted.
[Apple's Doc](https://developer.apple.com/documentation/foundation/notificationcenter)

> 
> 
> > 
> > 
> > > 
> > > If your app uses notifications extensively, you may want to create and post to your own notification centers rather than posting only to the default notification center. When a notification is posted to a notification center, the notification center scans through the list of registered observers, which may slow down your app. By organizing notifications functionally around one or more notification centers, less work is done each time a notification is posted, which can improve performance throughout your app.
> > > 
> > > 
> > > 
> > 
> > 
> > 
> 
> 
>