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的代理也写了

http://www.csdn.net/tag/nstableview