0
私はUserとMobileの2つのエンティティを持っています。ユーザーには、モバイルとの関係名の番号があります。ここ は私のコードNSPredicateでのリレーションシップの問い合わせ
+(void)getUserPhoneNumber:(NSString*)searchString{
NSLog(@"search string is %@",searchString); // e.g. 8
NSManagedObjectContext *context = [[DataManager sharedManager]managedObjectContext];
NSFetchRequest *request = [[NSFetchRequest alloc]initWithEntityName:NSStringFromClass([User class])];
NSError *error = nil;
NSArray *array = [context executeFetchRequest:request error:&error];
for (User * objUser in array) {
NSArray *arrayNumber = [(NSSet *)[objUser.numbers valueForKey:@"number"]allObjects];
NSLog(@"%@",arrayNumber);
// NSPredicate *predicate=[NSPredicate predicateWithFormat:@"SELF == %@",searchString];
NSPredicate *predicate=[NSPredicate predicateWithFormat:@"SELF == %@",searchString];
NSArray *filtered = [arrayNumber filteredArrayUsingPredicate:predicate];
if (filtered.count>0) {
NSLog(@"SEARCHED MOBILE NUMBER USER NAME ----> %@",objUser.fullname);
NSLog(@"SEARCH PHONE NUMBER IS----> %@",[[filtered objectAtIndex:0] valueForKey:@"number"]);
return;
}
}
}
である私は、例えばテキストフィールドに入力中の数字を取得したいです8。それは名前と携帯番号で返されます。 ユーザーは属性名firstnameを持っています。