Чтобы справиться с Drag-н-Drop сделали следующее,Что касается NSoutlineView и WriteItem | Drag-и-Drop Проблема
-(void)InitMyOutlineView{
- - - - - - - - - - - - - -- - - - - - - - -
- - - - - - - - - - - - - -- -- - - - - - - - -
[pMyOutlineView registerForDraggedTypes:
[NSArray arrayWithObject:NSStringPboardType]];
/* I tried both Yes and No */
[pMyOutlineView setDraggingSourceOperationMask:NSDragOperationEvery forLocal:NO];
- - - - -- - - - - - -- - - - - - - -- - - - - -
- -- -- - - - - -- - - - - - - - - - - - -- - - -
}
Метод WriteItem, как показано ниже,
- (BOOL)outlineView:(NSOutlineView *)outlineView writeItems:(NSArray *)items toPasteboard:(NSPasteboard *)pboard{
[self log:@"write Items"];
NSString *pStr = [NSString stringWithFormat:@"this is the temp string "];
[pboard declareTypes:[NSArray arrayWithObject:NSStringPboardType] owner:self];
[pboard setString:pStr forType:NSStringPboardType];
[self log:@"returning YES"];
return YES;
}
Теперь я жду контроля придет к методу AcceptDrop, но точка останова не попали туда, и в журнале/GDB получать следующий журнал
2011-02-04 16:21:25.435 MyApp[2006:a0f] write Items
2011-02-04 16:21:25.437 MyApp[2006:a0f] returning YES
2011-02-04 16:21:25.439 MyApp[2006:a0f] *** -[NSCFArray initWithObjects:count:]: attempt to insert nil object at objects[0]
и контроля не пришли к методу acceptDrop,
Когда я включить «Остановка на Exception» Ниже стек вызовов, когда он остановился,
#0 0x981b94e6 in objc_exception_throw
#1 0x96ed34cf in -[__NSPlaceholderArray initWithObjects:count:]
#2 0x96efaaa3 in +[NSArray arrayWithObject:]
#3 0x92316dfd in -[NSOutlineView _columnsForDragImage]
#4 0x923f1e32 in -[NSTableView _doImageDragUsingRowsWithIndexes:event:pasteboard:source:slideBack:startRow:]
#5 0x91fea16a in -[NSTableView _performDragFromMouseDown:]
#6 0x91fe89b9 in -[NSTableView mouseDown:]
#7 0x91fe864e in -[NSOutlineView mouseDown:]
#8 0x91f86c68 in -[NSWindow sendEvent:]
#9 0x91e9f817 in -[NSApplication sendEvent:]
#10 0x91e332a7 in -[NSApplication run]
#11 0x91e2b2d9 in NSApplicationMain
Позвольте мне обновить еще одну вещь, на мой взгляд, набросков, у меня есть пользовательские ячейки, которая является ничем иным, Mac Файл интерфейса ImageTextCell, который я использую.
Может кто-нибудь, пожалуйста, руководство меня, что я делаю неправильно
С наилучшими пожеланиями Rohan
это стек вызовов я получил, обновленный в вопросе – Amitg2k12
я пытаюсь перетащить одну строку, это означает, в WriteItem мне нужно сохранить свою пользовательскую ячейку, связанную с этой строкой – Amitg2k12