核心数据表关系和Fetchrequest
我正在使用故事板和核心数据开发一个iPad应用程序。我对核心数据没有什么好的想法。我有两个表名A和B.表a有两个字段名为datacode和price。在表B中有两个字段名项目代码和文本。表A有设置限制。
表A
数据码价格
p1 10
m1 17
p0 28
m3 20
w4 12
表B
项目代码文本
p0车
p1巴士
平方米的笔
m1球
p0禁令
r1书
立方米铅笔
n1电视
w4收音机
tableB中的itemcode中的值是表A中的数据代码+一些其他的值。我需要从tableB中获取文本值,这取决于表中数据代码对应的项目代码。我如何从中获取文本B基于这个标准。
首先,你需要在表A和表B之间build立关系。之后你必须根据你的关系获取logging…..你将会像这样获取你的logging….
NSMutableArray *arrObj = [[NSMutableArray alloc]init]; for(TableB *tblObj in [TableAObj relationWithTblB]){ [arrObj addObject:tblObj]; } NSLog(@"Your records related with tableA = %@",arrObj);
您需要将表A的datacode的谓词用于表B的项目代码,如下所示:
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init]; NSEntityDescription *aEntity = [NSEntityDescription entityForName:@"TableA" inManagedObjectContext:moc]; [fetchRequest setEntity:BEntity]; NSArray* fetchResults = [moc executeFetchRequest:fetchRequest error:nil];
你将得到TableA的所有对象。 所以如果你与TableB有一对一的关系,你可以直接访问所有的属性,如:
TableA *tableAObject = fetchResults[i]; NSString * itemcode = tableAObject.tableBRelation.itemcode