title: Problem extending UIButton for iOS
body: <p>I trying to extend UIButton but I keep getting a "EXC_BAD_ACCESS", inside the initializer of ColorButton's implementation file.</p>
  
  <p>Header of ColorButton.</p>
  
  <pre><code>#import &lt;Foundation/Foundation.h&gt;
  
  
  @interface ColorButton : UIButton {
      UIImage * originalImage;
  }
  
  @property (nonatomic,readonly) NSString * buttonName;
  
  -(id) initButtonWithName:(NSString *) color;
  -(void) setOriginalImage;
  -(void) setImage:(UIImage *) image;
  @end
  </code></pre>
  
  <p>ColorButton Implementation</p>
  
  <pre><code>#import "ColorButton.h"
  
  @implementation ColorButton
  
  @synthesize buttonName;
  
  -(id) initButtonWithName:(NSString *) color {
      if ((self = (ColorButton *)[UIButton buttonWithType:UIButtonTypeCustom])) {
          buttonName = color;
          [self setTitle:buttonName forState:UIControlStateNormal]; //This is the line of the "EXC_BAD_ACCESS" error.
          [self setBackgroundImage:[self backgroundImageForDevice:color] forState:UIControlStateNormal]; // This line gets the error too. If I comment the line before it out.
      }
      return self;
  }
  
  -(UIImage *) backgroundImageForDevice:(NSString *) color {
          color = [color stringByAppendingString:@"Bubble"];
      if ([[[UIDevice currentDevice] model] isEqualToString:@"iPad"] ||[[[UIDevice currentDevice] model] isEqualToString:@"iPad Simulator"]) {
          color = [color stringByAppendingString:@"-iPad"];
      }
      color = [color stringByAppendingString:@".png"];
      return [UIImage imageNamed:color];
  }
  
  -(void) setOriginalImage {
      [self setBackgroundImage:originalImage forState:UIControlStateNormal];
  }
  
  -(void) setImage:(UIImage *) image {
      [self setImage:image forState:UIControlStateNormal];
  }
  @end
  </code></pre>