title: NSMutableAttributedString crashing on changing the font?
body: <p>I'm sure mutable means it can be changed, so why's this happening?</p>
  
  <pre><code>attrString = [[NSMutableAttributedString alloc] initWithString:@"Tip 1: Aisle Management The most obvious step – although one that still has not been taken by a disconcerting number of organisations – is to configure cabinets in hot and cold aisles. If you haven’t got your racks into cold and hot aisle configurations, we can advise ways in which you can achieve improved airflow performance."];
  
          [attrString setFont:[UIFont systemFontOfSize:20] range:NSMakeRange(0, 23)];
          [attrString setFont:[UIFont systemFontOfSize:15] range:NSMakeRange(24, 325)];
          [attrString setTextColor:[UIColor blackColor] range:NSMakeRange(0,184)];
          [attrString setTextColor:[UIColor blueColor] range:NSMakeRange(185,325)];
          break;
  </code></pre>
  
  <p>Both my catextlayer and my nsmutableattributedsring are defined in my header file. I make the changes to my string above in a switch, then call this code to update the catextlayer the string is shown in:</p>
  
  <pre><code>//updates catext layer
  TextLayer = [CATextLayer layer];
  
  TextLayer.bounds = CGRectMake(0.0f, 0.0f, 245.0f, 290.0f);
  TextLayer.string = attrString;
  TextLayer.position = CGPointMake(162.0, 250.0f);
  TextLayer.wrapped = YES;
  
  [self.view.layer addSublayer:TextLayer];
  </code></pre>
  
  <p>It crashes on when it tries to set the font, but I cant work out why?</p>
  
  <blockquote>
    <p>-[NSConcreteMutableAttributedString setFont:range:]: unrecognized selector sent to instance 0xd384420
    <em>*</em> Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSConcreteMutableAttributedString setFont:range:]: unrecognized selector sent to instance 0xd384420'</p>
  </blockquote>
  
  <p>Why is this happening?</p>