У меня есть метод, который принимает UIButton, изменяет его свойства и возвращает UIButton. Однако, это никогда не кажется инициализированным. Я уверен, что я делаю что-то не так с управлением памятью здесь, но точно не знаю, как это исправить. Ошибки во время выполнения не возникают.
Это называется так ...
newGameBtn = [self customButtonFromButton:newGameBtn
withText:[NSString stringWithFormat:@"NEW GAME"]
withFontSize:22
withBorderColor:[UIColor orangeColor]
isSilent:YES];
[dashboardContainer addSubview:newGameBtn];
Метод определяется следующим образом ...
- (UIButton*) customButtonFromButton:(UIButton*)button withText:(NSString*)text withFontSize:(int)fontSize withBorderColor:(UIColor*)borderColor isSilent:(BOOL)isSilent {
button = [[[UIButton alloc] init] autorelease];
// Set properties from parameters
// Other conditional custom stuff here
return button;
}
ПРИМЕЧАНИЕ: newGameBtn
имеет тип UIButton * и инициализируется с помощью:
newGameBtn = [[UIButton buttonWithType:UIButtonTypeCustom] retain];
Другой вариант может заключаться в создании подкласса UIButton, но я решил, что попытаюсь это исправить, поскольку уже шел по этому пути.