我创建了一个子类NSTableCellView
来做一些自定义绘图。表格的内容是通过绑定到 NSArrayController 获得的,因此,当新数据添加到 NSArrayController 时,我的 NSTableCellView 子类的新实例是“自动”创建的。我需要一些代码在创建新实例时运行一次,所以我认为它应该进入init
. 我实现了 init 和 initWithFrame (见下文),但是在创建子类的新实例时似乎都没有调用它们(即我在控制台中看不到我的 NSLog 消息)。我应该使用不同的初始化方法吗?
- (id)init {
self = [super init];
if (self) {
// Initialization code here.
NSLog(@"init");
}
return self;
}
- (id)initWithFrame:(NSRect)frame {
self = [super initWithFrame:frame];
if (self) {
// Initialization code here.
NSLog(@"init with frame");
}
return self;
}