Следующий код взят из NSTableViewDataSource
, где я пытаюсь повлиять на перетаскивание.
Может кто-нибудь сказать мне, почему метод setString:forTypes:
в следующем коде возвращает NO
в Leopard?В Snow Leopard работает отлично.Я проверил унаследованный документ « Темы программирования для Картона », но не могу понять, что я делаю неправильно.
- (BOOL)tableView:(NSTableView *)tableView writeRowsWithIndexes:(NSIndexSet *)rowIndexes toPasteboard:(NSPasteboard *)pboard
{
NSString *str;
if ([tableView isEqualTo:databaseView]) {
str = [[commander databases] objectAtIndex:[rowIndexes firstIndex]];
} else if ([tableView isEqualTo:favouritesView]) {
str = [[commander favourites] objectAtIndex:[rowIndexes firstIndex]];
}
if (str != nil) {
NSArray *types = [NSArray arrayWithObject:NSStringPboardType];
[pboard declareTypes:types owner:nil];
if ([pboard setString:str forType:NSStringPboardType]) {
return YES;
} else {
[self handleErrorString:[NSString stringWithFormat:@"Error: Couldn't copy '%@' to pasteboard!", str]];
}
}
return NO;
}