chensunwang 2016-08-17 01:07 采纳率: 0%
浏览 1087

NSOutlineView拖动一项到另一个界面的NSTableView

怎么实现从一个界面的NSOutlineView拖动一项到其他界面的NSTableView上呢? 我是这样写的

先定义类型
#define MyItemsPboardType @"MyItemsPboardType"

然后注册类型

  • (void)viewDidLoad { [self.outlineView registerForDraggedTypes:[NSArray arrayWithObjects:MyItemsPboardType, nil]]; [self.outlineView setVerticalMotionCanBeginDrag:YES]; }

然后

-(BOOL)outlineView:(NSOutlineView *)outlineView writeItems:(NSArray *)items toPasteboard:(NSPasteboard *)pasteboard
{
[pasteboard declareTypes:[NSArray arrayWithObject:MyItemsPboardType] owner:self];

NSData *rowData = [NSKeyedArchiver archivedDataWithRootObject:items]; 
[pasteboard setData:rowData forType:MyItemsPboardType]; 
return YES; 

}
但是用NSKeyedArchiver接收数据的时候就会崩溃 不知道为什么 outlineview的代理也写了

  • 写回答

1条回答 默认 最新

  • zqbnqsdsmd 2017-02-26 21:47
    关注
    评论

报告相同问题?