У меня возникла проблема при загрузке/создании нового вида xib-файла вида. Я получаю код EXEC_BAD_ACCESS = 2, а в стеке вызовов я вижу множественный вызов метода initWithCoder. Я не понимаю, почему это произошло, поскольку я вызываю alloc init для моего класса только один раз. Ниже мой код:получить EXEC_BAD_ACCESS внутри initWithCoder
@interface SongListView : NSView
@property (nonatomic, strong) IBOutlet NSScrollView* view;
@end
@implementation SongListView
- (id)initWithFrame:(NSRect)frameRect
{
self = [super initWithFrame:frameRect];
if(self)
{
[self setup];
}
return self;
}
- (id)initWithCoder:(NSCoder *)aDecoder
{
self = [super initWithCoder: aDecoder];
if(self)
{
[self setup];
}
return self;
}
- (void)setup
{
NSArray *nib;
[[NSBundle mainBundle] loadNibNamed:@"scrollTabViewItemWithTableView"
owner:self
topLevelObjects:&nib];
[self addSubview: self.view];
}
@end
и это, как я создаю SongListView:
SongListView* tableView = [[SongListView alloc] init];
Может кто-нибудь объяснить мне, что происходит, почему я получаю Mutiple вызов метода initWithCoder, и как это исправить?
Сам по себе '-init' в порядке, так как он эквивалентен' initWithFrame: 'с' CGRectZero'. Однако, что будет дальше, это беспорядок. – coverback