2010-07-30 110 views
0

我正在研究一个简单的核心数据应用程序。我有两个类:ClientHome。有客户端和院(即客户可以有很多家。在其他属性中,Home类有一个叫purchaseDate核心数据 - 简单查询问题

我试图写在Client类的两种方法之间的一个一对多的关系:-homesByDate和 - firstHome-homesByDate返回值应该是一个NSArray或NSSet中的客户端的家中通过purchaseDate排序-firstHome应该只返回第一家客户端购买

我知道,给一个客户端,我可以用self.homes来。访问所有客户的家园,但我如何实现上述方法?这是否涉及应用某种类型NSPredicate?

帮助!谢谢!

回答

2

您需要NSSortDescriptor

NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"purchaseDate" ascending:YES]; 
//Obtain arrayOfHomes however you'd like 
homesByDate = [arrayOfHomes sortedArrayUsingSortDescriptors:[NSArray arrayWithObject:sortDescriptor]]; 
firstHome = [homesByDate objectAtIndex:0]; 

我还要指出的是,这是常见的,让NSArrayController的为你做排序(如果,例如,homesByDate仅仅是在一个表或视图显示的东西)。您可以使用setSortDescriptors或使用绑定。 (如果您希望用户能够从几个订单中进行选择,这也很方便。)

+0

谢谢我的莱格! – 2010-07-30 01:56:02