我有两个表,我想通过查看它们是否匹配特定属性来获取数据。
我想写一个谓词或类似的东西,但我似乎无法想出一个解决方案:@"Data.item == Item.code"
.
我不使用关系的原因是因为我的数据库是从mysql导入的。因此,所有数据都来自应用程序外部,它是从下载的 mysql 表同步的。
- - - - - - - - - - - - - -编辑 - - - - - - - - - - - --- 到目前为止,我在这里尝试过的很多事情都是我现在这样做的糟糕方式,也许从这里你可以了解更多我正在尝试做的事情。
NSPredicate * Newpredicate = [NSPredicate predicateWithFormat:@"hid == 2"];
NSArray *row2 = [db DLook:Newpredicate table:@"Data"];
for (NSManagedObject *data in row2) {
NSLog(@"\n\n\n\nid\n\n\n\n: %@", [data valueForKey:@"id"]);
NSString *itemToCode = [data valueForKey:@"item"];
NSPredicate *itemPredicate = [NSPredicate predicateWithFormat:@"code == %@",itemToCode];
NSArray *itemRow = [db DLook:itemPredicate table:@"Item"];
for (NSManagedObject *item in itemRow) {
NSLog(@"\n\n\n\ncode : %@\n\n\n\n",[item valueForKey:@"code"]);
}
// NSLog(@"id: %@", [data valueForKey:@"id"]);
//NSManagedObject * itemhid= [data valueForKey:@"testRel"];
//NSLog(@"code: %@",[itemhid valueForKey:@"code"]);
}
NSLog(@"\n\n\n\n%d\n\n\n\n",[row2 count]);
DLook 是一种令人信服的方法,它只使用我传递的表上的谓词来获取数据。然后将返回的 NSmanaged 对象的区域遍历它们。
我希望我能建立一个神奇的关系,让我得到一个与 Data.items 匹配的所有 Item.data !!!我不想这样做,我想建立一种可以这样工作的关系。
帮助 谢谢