J'ai une classe de contrôleur TableView qui utilise un contrôleur de résultats récupérés pour afficher une liste d'entités «patient» provenant d'un modèle de données de base. Les sections de cette table proviennent d'un attribut patient appelé "emplacement". Voici le descripteur de tri pour la requête d'extraction:Erreur d'application grave
NSSortDescriptor *locationDescriptor = [[NSSortDescriptor alloc] initWithKey:@"location" ascending:YES];
NSSortDescriptor *lastNameDescriptor = [[NSSortDescriptor alloc] initWithKey:@"lastName" ascending:YES];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:locationDescriptor, lastNameDescriptor, nil];
Voici le code d'initialisation du FRC:
NSFetchedResultsController *aFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:managedObjectContext sectionNameKeyPath:@"location" cacheName:@"List"];
Quand je veux ajouter une nouvelle entité « patient » - je clique sur un bouton Ajouter qui pousse ensuite un contrôleur de vue «ajouter un nouveau patient» à la pile de navigation.
Le premier patient que j'ajoute fonctionne correctement.
Si j'ajoute un deuxième patient - l'application va parfois tomber en panne avec l'erreur suivante:
2010-03-22 14:42:05.270 Patients[1126:207] Serious application error. Exception was caught during Core Data change processing: * -[NSCFArray insertObject:atIndex:]: index (1) beyond bounds (1) with userInfo (null) 2010-03-22 14:42:05.272 Patients[1126:207] * Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[NSCFArray insertObject:atIndex:]: index (1) beyond bounds (1)'
Cela ne semble se produire si le patient ont un emplacement ajouté (si aucun ajout n'a été alors l'emplacement par défaut à 'inconnu'). Cela semble avoir quelque chose à voir avec le tri de l'emplacement aussi. Par exemple, si l'emplacement du premier patient = quartier 14 et le second = quartier 9 alors il se bloque sans faute.
Je me demande si cela a quelque chose à voir avec la façon dont je demande au contrôleur de résultats récupérés de trier les noms des sections?
Ce bug me rend fou et je n'arrive pas à comprendre. Toute aide serait grandement appréciée!
Cela a résolu mon problème! –
Est-ce encore nécessaire dans iOS 8? – SAHM