title: Adding objects to NSMutableArray properties crashes with unrecognized selector?
body: <p>I am getting "-[__NSArrayI addObject:]: unrecognized selector sent to instance 0x10dd15ee0" here, when I try to addObject to an NSMutableArray.  I'm not sure why.</p>
  
  <p>I have a set of custom classes, that are nested.  WTEvent has an NSMutableArray property called mats that consists of WTMat objects.  mats has an NSMutableArray of WTBout objects called bouts.</p>
  
  <p>I want to be able to update one bout in bouts while leaving the rest of the bouts alone.  Here, I locate the mat that I need to assign a bout to.  If it's not initialized, I initialize it. Then, if it's empty, I try to add a newBout to it, and it crashes.</p>
  
  <p>Shouldn't I be able to change elements of a NSMutableArray like this? </p>
  
  <pre><code>// Locate the correct mat
  WTMat* mat = [self getMatFromBoutKey:[updateData valueForKey:@"boutKey"]];
  WTBout* newBout = [WTBout buildBoutFromDictionary:updateData];
  
  // need to initialize bouts
  if ([mat bouts] == nil) {
      NSLog(@"Initializing bouts");
      NSMutableArray* newBouts = [[NSMutableArray alloc] init ];
      [mat setBouts:newBouts];
  }
  
  if ([[mat bouts] count]) {
      // if bouts has bouts, then adjust the bout stack
  
      NSLog(@"bouts is not empty");
  } else {
      // if bouts is empty, just add a bout
  
      NSLog(@"Adding a newBout");
      NSMutableArray* oldBouts = [mat bouts];
      NSLog(@"oldbouts: %@", [oldBouts description]);
      [oldBouts addObject:newBout]; // -[__NSArrayI addObject:]: unrecognized selector sent to instance 0x10dd15ee0
  
  }
  </code></pre>
  
  <p>WTMat.h:</p>
  
  <pre><code>#import &lt;Foundation/Foundation.h&gt;
  
  @interface WTMat : NSObject
  {
      NSString* matName;
      NSString* boutKey;
      NSString* multicastAddress;
      NSMutableArray* bouts;
  }
  
  @property (strong, nonatomic) NSString* matName;
  @property (strong, nonatomic) NSString* boutKey;
  @property (strong, nonatomic) NSString* multicastAddress;
  @property (copy, nonatomic) NSMutableArray* bouts; 
  
  @end
  </code></pre>
  
  <p>Log:</p>
  
  <pre><code>2012-05-12 08:14:00.491 Wrestling Tools[12623:403] Initializing bouts
  2012-05-12 08:14:00.492 Wrestling Tools[12623:403] Adding a newBout
  2012-05-12 08:14:00.492 Wrestling Tools[12623:403] oldbouts: (
  )
  2012-05-12 08:14:00.492 Wrestling Tools[12623:403] -[__NSArrayI addObject:]: unrecognized selector sent to instance 0x10dd15ee0
  2012-05-12 08:14:00.492 Wrestling Tools[12623:403] -[__NSArrayI addObject:]: unrecognized selector sent to instance 0x10dd15ee0
  2012-05-12 08:14:00.494 Wrestling Tools[12623:403] (
      0   CoreFoundation                      0x00007fff96783fc6 __exceptionPreprocess + 198
      1   libobjc.A.dylib                     0x00007fff92375d5e objc_exception_throw + 43
      2   CoreFoundation                      0x00007fff968102ae -[NSObject doesNotRecognizeSelector:] + 190
      3   CoreFoundation                      0x00007fff96770e73 ___forwarding___ + 371
      4   CoreFoundation                      0x00007fff96770c88 _CF_forwarding_prep_0 + 232
      5   Wrestling Tools                     0x000000010dc49343 -[WTUpdater fullUpdate:] + 835
  </code></pre>