我已经做了关于核心数据关系的一个示例演示。我有一个表“用户”,它以“一对多”关系的形式连接到另一个表“帐户”。如何在一对多核心数据关系中获取特定数据?
代码
-(IBAction)savePersonData:(id)sender
{
NSManagedObjectContext *context = appDelegate.managedObjectContext;
NSManagedObject *newDevice = [NSEntityDescription insertNewObjectForEntityForName:@"Person" inManagedObjectContext:context];
[newDevice setValue:self.personName.text forKey:@"name"];
[newDevice setValue:self.personAddress.text forKey:@"address"];
[newDevice setValue:self.personMobileNo.text forKey:@"mobile_no"];
NSManagedObject *newAccount = [NSEntityDescription insertNewObjectForEntityForName:@"Account" inManagedObjectContext:context];
[newAccount setValue:self.accountNo.text forKey:@"acc_no"];
[newAccount setValue:self.accountType.text forKey:@"acc_type"];
[newAccount setValue:self.balance.text forKey:@"balance"];
NSLog(@"Saved Successfully");
[self dismissViewControllerAnimated:YES completion:nil];
}
图片
我的问题是
我觉得这么多的时间,但找不到合适的answer.So我张贴了这个问题第二次。
我的问题是我手动插入三人账户的详细信息。
现在,我想要输入手机号码时为特定人员输入的余额。
ex
1)输入第一个移动号码。应该显示第一个人的余额。 2)输入第二个移动号码。应该显示第二个人的余额。 1)输入第3个手机号码。应该显示第三人称平衡。
平衡校验码
-(IBAction)checkBalance:(id)sender
{ NSFetchRequest *fetchRequest = [NSFetchRequest fetchRequestWithEntityName:@"Person"];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"mobile_no = %@",self.textField.text];
[fetchRequest setPredicate:predicate];
NSError *error;
NSArray *result = [appDelegate.managedObjectContext executeFetchRequest:fetchRequest error:&error];
if(!([result count] == 0))
{
NSManagedObjectContext *managedObjectContext = appDelegate.managedObjectContext;
NSFetchRequest *newFetchRequest = [[NSFetchRequest alloc] initWithEntityName:@"Account"];
NSMutableArray *temp = [[managedObjectContext executeFetchRequest:newFetchRequest error:nil] mutableCopy];
for (NSManagedObject *object in temp)
{
NSString *intValue = [object valueForKey:@"balance"];
NSString *alertString = [NSString stringWithFormat:@"%@",intValue];
[self displayAlertView:@"Available Balance" withMessage:alertString];
}
}
else
{
[self displayAlertView:@"Error" withMessage:@"Please Enter Valid Mobile Number That you have entered in Bank"];
}
}
图片
输出
我想余额以SPE cific Person我在TextField上输入Person Mobile No。
对不起,我有第二次问,但是可能无法解决这个核心数据关系。
谢谢。
您是否检查过http://stackoverflow.com/questions/20157803/display-core-data-entity-records-with-relationship-1m?rq=1以及这个http://stackoverflow.com/questions/8310652/core-data-one-to-many-relationships-fetching-specific-related-entities?rq = 1 – Amanpreet
我已经che cked这两个链接。谢谢 – hd1344
[如何在CoreData中匹配NSSet的对象值?](http://stackoverflow.com/questions/41372977/how-to-match-object-value-of-nsset- in-coredata) – Joshua