核心数据表关系和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