У меня есть следующий код для поддержки удаления файла приложения в виде таблицы. Проблема в том, что я даже не вижу зеленый + при перетаскивании. Я думаю, что это имеет какое-то отношение к registerForDraggedTypes:
, но я не уверен. Я пробовал много учебников, и никто не работал для меня.NSTableView Drop Файл приложения, что происходит неправильно?
- (void)awakeFromNib {
[apps registerForDraggedTypes:[NSArray arrayWithObject:@"app"]];
}
- (BOOL)tableView:(NSTableView *)tv writeRowsWithIndexes:(NSIndexSet *)rowIndexes toPasteboard:(NSPasteboard*)pboard
{
return YES;
}
- (NSDragOperation)tableView:(NSTableView*)tv validateDrop:(id <NSDraggingInfo>)info proposedRow:(int)row proposedDropOperation:(NSTableViewDropOperation)op
{
return NSDragOperationCopy;
}
- (BOOL)tableView:(NSTableView *)aTableView acceptDrop:(id <NSDraggingInfo>)info
row:(int)row dropOperation:(NSTableViewDropOperation)operation
{
return YES;
}
Заранее спасибо
По какой-то причине я все еще не вижу зеленый +. Что может быть причиной этого? – nosedive25
Проверьте очевидность: подключен ли ваш IBOutlet для просмотра таблицы? Связан ли делегат представления таблицы? Получается ли точка останова или NSLog в 'acceptDrop'? – kevingessner
Все было подключено, но все еще не работает. Чтобы заставить его работать, я использовал ваше предложение, но поместил его в невидимый NSView поверх табличного представления. – nosedive25