【问题标题】:issue implementing relationship in Coredata in Xcode iphone onetoone or manytomany在 Xcode iphone onetoone 或 manytomany 中的 Coredata 中实现关系的问题
【发布时间】:2025-12-21 02:40:17
【问题描述】:

我正在处理 coredata 关系。我有 2 个实体设备和经销商。它们之间有一对多的关系。

对于设备属性是 deviceName,deviceSerial,deviceVersion & 对于 Dealer 属性是dealeraddress,dealerPhone,dealerName

我必须在数据模型编辑器中创建从设备到经销商的一对多关系(每个设备都有多个经销商)

我也设置了相反的值。我在 Dealer 表中有一个名为 ZDeviceDealer 的列。

我想从特定设备的经销商表中获取经销商列表。为此,我必须在经销商表中为 DeviceSerial 创建一个单独的列。

我怎样才能为此创建一个谓词和 Fetchrequest 控制器。

请纠正我的错误。

任何帮助将不胜感激

【问题讨论】:

    标签: xcode core-data one-to-many relationship one-to-one


    【解决方案1】:

    您不会在 Core Data 中“创建列”,而是为 实体。你说你已经定义了 Device 和 *经销商”,所以让我们假设

    • dealers 是从 DeviceDealer 的一对多关系,
    • device 是从 DealerDevice 的逆一对一关系。

    要获取特定设备的所有经销商,您需要以下谓词和 获取请求:

    Device *theDevice = ... ;
    NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Dealer"];
    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"device == %@", theDevice];
    [request setPredicate:predicate];
    

    对于获取的结果控制器,您可以从 NSFetchedResultsController documentation 并使用上述获取请求。

    【讨论】: