ios - 两个表之间的核心数据Where 子句?

标签 ios core-data

我有两个表,我想从中获取数据并查看它们是否与特定属性匹配。

我想写一个谓词或类似的东西,但我似乎无法想出一个解决方案:@"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 是一种令人信服的方法,它仅使用我传递的表上的谓词来获取数据。然后获取循环遍历它们的 NSmanagement 对象的返回区域。

我希望我可以建立一种神奇的关系,让我获得与 Data.items 匹配的所有 Item.data! 我不想这样做,我想建立这样的关系。

帮助 谢谢

最佳答案

只有当两个对象实际上是同一个对象时,谓词中的相等性才为真。你可以这样做:

[NSPredicate predicateWithFormat:@"item = %@", code];

但是,在导入模型时,您确实应该尝试建立正确的关系。那么你甚至不必从商店中获取数据,而只需使用

dataObject.item;

因此,当您导入时,请执行以下操作:

// get one data object from your source
// get the corresponding item object from your source
Data *dataObject = [NSEntityDescription insertNewObjectForEntityForName:@"Data"
     inManagedObjectContext:self.managedObjectContext];
Item *itemObject = [NSEntityDescription insertNewObjectForEntityForName:@"Item"
     inManagedObjectContext:self.managedObjectContext];
[dataObject addItemObject:itemObject];

关于ios - 两个表之间的核心数据Where 子句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11756895/

相关文章:

iphone - 我想更改UITextView的字体大小

ios - 在核心数据中创建关注者关注模型

ios - 消息发送到已释放实例 Core Data

iphone - 在运行时浏览核心数据内容(通过 Xcode 模拟器)

html - 如何使用html显示存储在核心数据数据库中的jpeg图像

ios - 如何使用 Frame Size 从 ViewController 调用自定义 UIView

ios - iOS 中的绘图和动画

ios - Objective-C - 如何遵守多种协议(protocol)?

ios - weakSelf 在 block 之前被释放

ios - 在 Swift 中从核心数据中检索随机字符串