我有一个ETXTableView
类,它是NSTableView
的子类。 (评论后改变)其委托在IB中设置为viewController(作为其数据源)。
这个类有四个实例:彼此相同的四个表。用户可以单击或鼠标从一个实例到另一个实例。 moveDown:
的代码如下:
-(void)moveDown:(id)sender
{
NSLog(@"self=%ld, delegate=%ld",self,self.delegate);
lastKeyDownOrUp = 1;
if (viewController.sectionArrayController.canSelectNext)
{
NSIndexSet *indexSet = [NSIndexSet indexSetWithIndex:(viewController.sectionArrayController.selectionIndex+1)];
[self selectRowIndexes:indexSet byExtendingSelection:NO];
}
else{
[[self window] selectKeyViewFollowingView:self];
}
<< Code to show a details panel >>;
}
此代码中self.delegate
的值为 nil 。我几乎可以肯定这是因为委托有一个弱引用。
谢谢!