title: What does the 'object' argument do in `postNotificationName:object:`?
body: <pre><code>- (void)postNotificationName:(NSString *)notificationName 
                        object:(id)notificationSender
  </code></pre>
  
  <p>Can someone help me understand the <code>object</code> parameter in the above method?</p>
  
  <p>I have used </p>
  
  <pre><code>[[NSNotificationCenter defaultCenter] postNotificationName:@"Downloadfinished"
                                                      object:self]; 
  </code></pre>
  
  <p>and </p>
  
  <pre><code>[[NSNotificationCenter defaultCenter] postNotificationName:@"Downloadfinished"
                                                      object:nil];
  </code></pre>
  
  <p>They <em>both</em> are working in my case. But I want to understand what the argument does and what I should be passing.</p>