tableView で簡単なドラッグ アンド ドロップ操作を実装しようとしています。ただし、readObjectsForClasses を使用してペーストボードからデータを取得しようとすると、ランタイム例外が発生します。
"[__NSCFConstantString initWithBytes:length:encoding:]: 認識されないセレクターがインスタンスに送信されました"
これは、問題が発生する私の acceptDrop メソッドです。誰かが私が間違っていることを指摘するのを手伝ってもらえますか.
(BOOL) tableView: (NSTableView *) view
acceptDrop: (id ) info
row: (NSInteger) row
dropOperation: (NSTableViewDropOperation) op
{
NSArray *pBoardClasses = [[NSArray alloc] initWithArray:[NSArray arrayWithObjects:[NSStringPboardType class], [NSDragPboard class], nil]];
NSPasteboard *board =[info draggingPasteboard];
if(![board canReadObjectForClasses:pBoardClasses options:nil])
{
NSLog(@"No acceptable data format in pasteboard. Cannot perform this operation!");
return NO;
}
NSArray * dFromPboard = [board readObjectsForClasses:pBoardClasses options:nil];
}