Pregunta

El siguiente código es de un NSTableViewDataSource donde yo estoy tratando de arrastrar y soltar impliement.

Puede alguien decirme por qué el método setString:forTypes: en los siguientes código vuelve NO bajo Leopard? Funciona bien en Snow Leopard. Revisé los " Área de trabajo de programación Temas de cacao " documento de herencia, pero no puedo averiguar lo que estoy haciendo mal.

- (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;
}
¿Fue útil?

Solución

Esta es una suposición, pero el registro de los datos:. pboard que no es nula, y que str es realmente una cadena

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top