Sto riscontrando problemi nel far funzionare correttamente NSArrayController con i dati di base nel mio codice. Qui di seguito è il mio codice:Inizializzazione 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];
Quando tento di chiamare setSelectionIndex :, ritorna SI, che indica che la selezione è stata modificata con successo. Tuttavia, ogni successiva chiamata getSelectionIndex all'oggetto pageArrayController restituisce NSNotFound.
Quello che non capisco è che se metto NSArrayController in un NIB e consento al file NIB di eseguire l'inizializzazione (con tutti gli stessi attributi in Interface Builder), NSArrayController funziona correttamente.
Perché c'è una differenza di comportamento? Il file NIB inizializza questi tipi di oggetti in un modo speciale? La mia inizializzazione di NSArrayController è errata?
Qualsiasi aiuto è apprezzato. Grazie.
Non esiste un metodo '-getSelectionIndex'. Hai scritto tu stesso un metodo, o in realtà hai chiamato qualcosa di diverso? –
Intendevo -selectionIndex. –