核心数据 - 相关记录的数量

0 iphone core-data objective-c

我是Core Data编程的新手,我正在尝试解决所涉及的概念.我有一个名为a的对象Lease,它与Apartment对象有多对多的关系.给定一个Lease对象,如何获取相关Apartment对象的计数或相关对象的NSArray?

谢谢!

~~加思

Dav*_*ong 6

有几种不同的方式:

  1. 使用生成的Core Data访问器:

    NSSet * apartments = [myLease apartments];
    NSUInteger numberOfApartments = [apartments count];
  2. 使用KeyPaths:

    NSSet * apartments = [myLease valueForKey:@"apartments"];
    NSUInteger numberOfApartments = [apartments valueForKey:@"@count"];
  3. 使用KVC(如果您的课程完全符合KVC标准):

    NSUInteger numberOfApartments = [myLease countOfApartments];
  4. 使用获取请求:

    NSFetchRequest * r = [[NSFetchRequest alloc] init];
    [r setEntity:apartmentEntityDescription];
    [r setPredicate:[NSPredicate predicateWithFormat:@"lease = %@", myLease]];
    NSArray * apartments = [myManagedObjectContext executeFetchRequest:r error:nil];
    NSUInteger numberOfApartments = [myManagedObjectContext countForFetchRequest:r error:nil];
    [r release];

随意混合和匹配这些线.

  • 怎么样按'公寓.@ count`排序? (2认同)