title: How to pass a NSDictionary with postNotificationName:object:
body: <p>I am trying to pass an NSDictionary form a UIView to a UIViewController using NSNotificationCenter. The dictionary works fine at the time the notification is posted, but in the receiving method I am unable to access any of the objects in the dictionary.</p>
  
  <p>Here is how I am creating the dictionary and posting the notification...</p>
  
  <pre><code>itemDetails = [[NSDictionary alloc] initWithObjectsAndKeys:@"Topic 1", @"HelpTopic", nil];
      [[NSNotificationCenter defaultCenter] postNotificationName:@"HotSpotTouched" object:itemDetails];
  </code></pre>
  
  <p>In the UIViewController I am setting the observer...</p>
  
  <pre><code>[[NSNotificationCenter defaultCenter] addObserver:self
                                           selector:@selector(hotSpotMore:)
                                               name:@"HotSpotTouched"
                                             object:nil];
  </code></pre>
  
  <p>For testing purposes hotSpotMore looks like this...</p>
  
  <pre><code>- (void)hotSpotMore:(NSDictionary *)itemDetails{
        NSLog(@"%@", itemDetails);
        NSLog(@"%@", [itemDetails objectForKey:@"HelpTopic"]);    
  }
  </code></pre>
  
  <p>The first NSLog works fine displaying the contents of the dictionary. The second log throws the following exception...</p>
  
  <pre><code> [NSConcreteNotification objectForKey:]: unrecognized selector sent to instance 0x712b130
  </code></pre>
  
  <p>I don't understand why I cannot access any objects in the passed dictionary.</p>
  
  <p>Thanks in advance for any help.</p>
  
  <p>John</p>