Вы создаете TTButton, используя авто-релиз, в то время как вы выпускаете его в своей функции dealloc. Таким образом, и пул релизов, и dealloc пытаются освободить вашу _BrightButton TTButton.
в заголовочном файле, попробуйте добавить:
@property (nonatomic, readonly, retain) TTButton* rightButton;
А затем создайте TTButton, используя его функцию get в вашем исходном файле:
///////////////////////////////////////////////////////////////////////////////////////////////////
- (TTButton*)rightButton {
if (!_rightButton) {
_rightButton = [[TTButton
buttonWithStyle:@"blueToolbarButton:" title:item.rightButtonTitle] retain];
[self.contentView addSubview:rightButton];
}
return rightButton;
}
При использовании rightButton, убедитесь, что используете self.rightBotton, а не _rightButton, например, в функции макета (потому что вам нужно создать объект).
self.rightButton.frame = CGRectMake(20, self.detailTextLabel.bottom + kVPadding, kImageWidth, kImageHeight);
Я предлагаю открыть файл Three20UI / TTTableMessageItemCell.h & source и попытаться скопировать поведение одного из элементов. Вот что я сделал.