我在tableView中显示来自CoreData的对象时遇到了困难。
我有两种实体:Sample
和SampleList
。重要的是要知道SampleList
有一个属性sampleSet
,它是一组样本(样本的实体)
首先,我成功地显示了每个SampleList
。这是viewDidLoad
:
NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"SampleList" inManagedObjectContext:managedObjectContext];
[request setEntity:entity];
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"lastSampleDate" ascending:NO];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];
[request setSortDescriptors:sortDescriptors];
[sortDescriptor release];
[sortDescriptors release];
NSError *error;
NSMutableArray *mutableFetchResults = [[managedObjectContext executeFetchRequest:request error:&error] mutableCopy];
if (mutableFetchResults == nil) {
// Handle error
}
[self setSampleListArray:mutableFetchResults];
[mutableFetchResults release];
[request release];
点击tableView中的一行后,我想在所选的UITableView
的每个样本中显示另一个SampleList
。
我以为我可以转到子视图SampleList mySampleList
。但是,我不知道该怎么办,因为它没有组织。
如何返回有序的Sample
数组(例如按dateSample
属性排序)?
感谢您的时间!
答案 0 :(得分:4)
您可以在NSSet
上使用NSArray
和sampleSet
方法获取有序数组:
sortedArray = [[sampleSet allObjects] sortedArrayUsingSelector:@selector(compare:)];
或者如果要指定特定的排序描述符而不是常规的“compare”方法:
sortedArray = [[sampleSet allObjects] sortedArrayUsingDescriptors:sortDescriptors];