1

我正在使用 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     {...}
4

0 回答 0