ios核心数据获取特定父级的元素

时间:2013-06-21 02:15:27

标签: ios core-data nspredicate

我有一个使用coreData的应用程序。

我有这种关系:

公司< --->>访问者

现在,我需要找到特定公司的特定访问者,我可以从一些字符串模式开始访问访问者,

但是如何找到特定公司的那些?

这里是我的代码

- (void)searchAvailableDataFullName:(NSTimer*)timer
 {

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"fullName BEGINSWITH [c] %@",self.nameTF.text];  

//sort descriptor! 

NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"fullName" ascending:YES selector:@selector(localizedCaseInsensitiveCompare:)];

//the relationship of interest??
Visitor *theVisitor = nil;
theVisitor.company = self.selectedCompany;

NSMutableArray *fullNamesArray = [NSMutableArray arrayWithArray:[Visitor allWithPredicate:predicate sortDescriptors:@[sortDescriptor]]];


Visitor *visitorName;

NSMutableArray *dataArray = [NSMutableArray array];

for (visitorName in fullNamesArray) {
    NSLog(@"tus visitors:: %@", visitorName.fullName);

    [dataArray addObject:visitorName.fullName];

   }
  }

1 个答案:

答案 0 :(得分:1)

我没有将Mac放在我面前,但它应该是这样的:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"visitors.fullName BEGINSWITH [c] %@ && visitors.CompanyName BEGINSWITH [c] %@",self.nameTF.text, companyNameTextObject]; 

希望100%正确,如果不是,你可以得到它的要点。您可以使用“table.relationshipProperty”来搜索关系。

Apple Predicate Programming Guide

还有更多信息,请查看“联接”部分。希望有所帮助!