Новичок в Core Data здесь:
Учитывая пациента, я хочу перечислить все аллергии для этого пациента.
Сущность Patient
имеет отношение ко многим allergies
, определенное в объектной модели.
Дочерняя сущность Allergy
также имеет обратную зависимость patient
.
Allergy
имеет один атрибут, description
значение которого является строкой NSS.
Я хочу получить NSSet, возвращенный отношением allergies
, упорядочить его по description
и поместить в переменную экземпляра массива, которая будет отображена в табличном представлении.
код:
NSSortDescriptor *sortDescriptor = [NSSortDescriptor sortDescriptorWithKey:@"description" ascending:YES];
NSArray *sortDescriptors = [NSArray arrayWithObject:sortDescriptor];
NSSet *unorderedAllergies = [selectedPatient valueForKey:@"allergies"];
NSArray *sortedArray = [unorderedAllergies sortedArrayUsingDescriptors:sortDescriptors];
[allergiesArray addObjectsFromArray:sortedArray];
Примечания: selectedPatient
- это переменная экземпляра родительского NSManagedObject Patient
, которая была передана от предыдущего контроллера. allergiesArray
- это массив, который я хочу сопоставить с табличным представлением.
Проблема возникает по адресу:
NSArray *sortedArray = [unorderedAllergies sortedArrayUsingDescriptors:sortDescriptors];
Отладчик показывает EXEC_BAD_ACCESS
в этой строке, и приложение вылетает. Я предполагаю, что это связано со связанными объектами, которые лениво загружаются Core Data (то есть "поврежденные объекты").
Любая помощь очень ценится.