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
是从以前的控制器传入的父NSManagedObjectPatient
的实例变量allergiesArray
是我想要映射到表视图的数组
问题发生在:
NSArray *sortedArray = [unorderedAllergies sortedArrayUsingDescriptors:sortDescriptors];
调试器在此行显示一个EXEC\u BAD\u访问
,应用程序崩溃。我猜这与核心数据延迟加载的相关对象(即“故障对象”)有关
非常感谢您的帮助。
description
是NSObject的方法名,返回描述该对象的字符串。它是使用NSLog记录对象时调用的方法。从NSObject继承的所有类都已具有description
方法
不要使用
description
作为属性或属性名,因为您可能无法获得预期的结果。使用allegryDescription
或类似方法将属性名称更改为不会冲突的名称 +1个好球。我想每个人都会在某个时候被这个词咬到——“描述”是一个属性的自然名称。我同意。很好。非常感谢。