Objective c 核心数据排序相关对象集时出现问题

Objective c 核心数据排序相关对象集时出现问题,objective-c,cocoa-touch,core-data,ios4,Objective C,Cocoa Touch,Core Data,Ios4,新手访问此处的核心数据: 给定一个患者,我想列出该患者的所有过敏反应 实体患者具有对象模型中定义的多对多关系过敏 子实体过敏与患者也定义了反向关系 Allergy有一个属性,description谁的值是NSString 我想获取由allergies关系返回的NSSet,按description对其进行排序,并将其放入将映射到表视图的数组实例变量中 守则: NSSortDescriptor *sortDescriptor = [NSSortDescriptor sortDescriptorWit

新手访问此处的核心数据:

给定一个患者,我想列出该患者的所有过敏反应

实体
患者
具有对象模型中定义的多对多关系
过敏

子实体
过敏
患者
也定义了反向关系

Allergy
有一个属性,
description
谁的值是NSString

我想获取由
allergies
关系返回的NSSet,按
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\u BAD\u访问
,应用程序崩溃。我猜这与核心数据延迟加载的相关对象(即“故障对象”)有关


非常感谢您的帮助。

description
是NSObject的方法名,返回描述该对象的字符串。它是使用NSLog记录对象时调用的方法。从NSObject继承的所有类都已具有
description
方法


不要使用
description
作为属性或属性名,因为您可能无法获得预期的结果。使用
allegryDescription
或类似方法将属性名称更改为不会冲突的名称

+1个好球。我想每个人都会在某个时候被这个词咬到——“描述”是一个属性的自然名称。我同意。很好。非常感谢。