Tengo problemas para que funcione correctamente un código NSArrayController con respaldo de datos centrales. A continuación se muestra el código:Inicialización de NSArrayController
pageArrayController = [[NSArrayController alloc] initWithContent:nil];
[pageArrayController setManagedObjectContext:[self managedObjectContext]];
[pageArrayController setEntityName:@"Page"];
[pageArrayController setAvoidsEmptySelection:YES];
[pageArrayController setPreservesSelection:YES];
[pageArrayController setSelectsInsertedObjects:YES];
[pageArrayController setClearsFilterPredicateOnInsertion:YES];
[pageArrayController setEditable:YES];
[pageArrayController setAutomaticallyPreparesContent:YES];
[pageArrayController setSortDescriptors:[NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"index" ascending:YES]]];
BOOL result = [pageArrayController setSelectionIndex:0];
Cuando intento llamar setSelectionIndex :, devuelve SÍ, indicando que la selección se ha cambiado correctamente. Sin embargo, cualquier llamada de getSelectionIndex posterior al objeto pageArrayController devuelve NSNotFound.
Lo que no entiendo es que si pongo NSArrayController en una NIB, y le permito al archivo NIB realizar la inicialización (con todos los mismos atributos en Interface Builder), el NSArrayController funciona correctamente.
¿Por qué hay una diferencia en el comportamiento? ¿El archivo NIB inicializa estos tipos de objetos de una manera especial? ¿Mi inicialización de NSArrayController es incorrecta?
Cualquier ayuda es apreciada. Gracias.
No existe el método '-getSelectionIndex'. ¿Escribiste ese método tú mismo, o realmente llamaste algo diferente? –
Quise decir -selectionIndex. –