我正在使用 NSOutlineView 和 NSTreeController 的绑定。我试图通过使用 NSTreeNode 的 -parentNode 方法来确定特定节点的父节点,但是该方法从不返回 nil,如文档中所示。相反,我必须这样做才能使事情正常进行。内省是一种技巧。有什么建议么?谢谢。
NSTreeNode *parentNode = [[[treeController selectedNodes] objectAtIndex:0] parentNode];
LXNode *realParentNode = [parentNode representedObject];
if (parentNode && [realParentNode isKindOfClass:[LXNode class]])
{
//The parent exists
}
else
{
//Parent does not exist.
}
在调试器中显示 parentNode 如下
> parentNode 0x001a1e50
> NSObject {...}
> _childNodesProxy 0x0
> _representedObject 0x10019f500
> _observationInfo 0x0
> _reserved2 0x0
> _childNodes 0x1020b6d10
> _parentNode 0x0
> _NSTreeNodeFlags {...}