Я пытаюсь расширить UIButton, но получаю «EXC_BAD_ACCESS» внутри инициализатора файла реализации ColorButton.
Заголовок ColorButton.
#import <Foundation/Foundation.h>
@interface ColorButton : UIButton {
UIImage * originalImage;
}
@property (nonatomic,readonly) NSString * buttonName;
-(id) initButtonWithName:(NSString *) color;
-(void) setOriginalImage;
-(void) setImage:(UIImage *) image;
@end
Реализация ColorButton
#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