我有一个使用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];
}
}
答案 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
还有更多信息,请查看“联接”部分。希望有所帮助!