【发布时间】:2014-07-24 06:48:23
【问题描述】:
我的第二篇文章在这里。我对 IOS 的核心数据还是很陌生。我已经阅读了苹果开发者页面,但我仍然不明白如何实现代码。
我有 2 个有关系的实体:学生 > StudentInfo
学生属性(字符串):名字、姓氏、学生身份
StudentInfo 属性(字符串):itemA、itemB、itemC
由于每个学生都有很多学生信息,我将如何完成仅查找具有 (itemA == "abc") 的实体并将相关学生的学生 ID 与 itemC 一起显示的任务?
编辑
NSEntityDescription *entitydesc = [NSEntityDescription entityForName:@"Student" inManagedObjectContext:self.managedObjectContext];
NSFetchRequest *req = [[NSFetchRequest alloc] init];
[req setEntity:entitydesc];
NSPredicate *predi = [NSPredicate predicateWithFormat:@"studentid like %@", self.idTextField.text];
[req setPredicate:predi];
NSError *error;
NSArray *matchingData = [self.managedObjectContext executeFetchRequest:req error:&error];
if (matchingData.count <= 0) {
self.testLabel.text = @"nada found";
} else {
NSString *firstName;
NSString *lastName;
for (NSManagedObject *obj in matchingData) {
firstName = [obj valueForKey:@"firstname"];
lastName = [obj valueForKey:@"lastname"];
}
self.testLabel.text = [NSString stringWithFormat:@"%@%@", firstName, lastName];
}
到目前为止,我得到了这么多,这对于从主 Student 实体访问数据非常有用,但是我将如何访问实体 StudentInfo 的特定案例的属性?
... 很抱歉任何格式不正确,并提前感谢您的帮助!
【问题讨论】:
-
我没有任何代码设置,但您需要在
fetchRequest上为entity附加NSPredicate。检查this SO question以获取示例。 stackoverflow.com/questions/1347776/… -
@LyricalPanda 我阅读了链接,您是否有任何示例代码可以建议或更多指导?我现在正在玩弄它,看看我是否能弄清楚更多。
标签: ios core-data relationship accessor