我正在为我的NSOutlineView设置拖放功能,我希望防止父母被丢弃在他们的一个孩子身上。父母和子女都是集团实体。我知道我需要在outlineView:validatedrop方法中执行此操作。我想我需要用NSPredictate创建一个NSFetchRequest来获取父级的所有子级,但我不知道谓词应该是什么。
编辑:它应该是递归的,所以它也应该让孩子的孩子,如果有的话。
有什么建议吗?
答案 0 :(得分:1)
- (NSDragOperation)outlineView:(NSOutlineView *)ov validateDrop:
(id <NSDraggingInfo>)info proposedItem:(id)item proposedChildIndex:(NSInteger)childIndex;
在上述方法中,您可以管理可以或不可以接受的拖动项目。请返回NSDragOperationNone
,表示防止掉线。
答案 1 :(得分:0)