0
我正在使用NSTreeController來管理NSOutlineView的節點。當用戶添加了一個新的項目,我創建了一個新對象,並插入:如何在使用NSTreeController時查找NSOutlineView行索引
EntityViewEntityNode *newNode = [EntityViewEntityNode nodeWithName:@"New entity" entity:newObject];
// Insert at end of group
//
NSIndexPath *insertAt = [pathOfGroupNode indexPathByAddingIndex:[selected.children count]];
[entityCollectionTreeController insertObject:newNode atArrangedObjectIndexPath:insertAt];
現在我想開表列編輯,以便用戶可以命名新項目。這似乎是合乎邏輯的:
NSInteger row = [entityCollectionOutlineView rowForItem:newNode];
[entityCollectionOutlineView editColumn:0 row:row withEvent:nil select:YES];
但是,行總是-1,指示找不到對象。四處探查揭示了樹控制器實際上不是將我的對象直接放在樹中,而是將它們包裝在它自己的節點對象中。
任何人都可以深入瞭解如何獲取相對於大綱視圖的行索引,所以我可以這樣做(沒有,希望列舉大綱視圖中的所有內容並找出映射回我的節點?)
工程很好,謝謝! – user308405 2010-05-03 07:18:29