Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 编写swift案例时,ordered to many关系的值类型不可接受_Objective C_Swift - Fatal编程技术网

Objective c 编写swift案例时,ordered to many关系的值类型不可接受

Objective c 编写swift案例时,ordered to many关系的值类型不可接受,objective-c,swift,Objective C,Swift,我正在从事一个项目,该项目要求我在现有文件结构上添加一个新的测试用例。现在我正在做一个测试用例,它需要进行api调用以获取维护信息 我得到的维护信息结构如下: @objc(MaintenanceData) class MaintenanceData: WebServiceEntity, Persistable { static var contentId: ContentId = "maintenance" @NSManaged var version: String @

我正在从事一个项目,该项目要求我在现有文件结构上添加一个新的测试用例。现在我正在做一个测试用例,它需要进行api调用以获取维护信息

我得到的维护信息结构如下:

@objc(MaintenanceData)
class MaintenanceData: WebServiceEntity, Persistable {

static var contentId: ContentId = "maintenance"

@NSManaged var version: String
@NSManaged var maintenance: Bool
@NSManaged var maintenanceDescription: String?
@NSManaged var features: [FeatureMaintenanceData]?

public static func fieldMapping() -> [FieldName: String] {
    return [
        "version": "version",
        "maintenance": "maintenance",
        "maintenanceDescription": "maintenanceDescription",
        "features": "features"
    ]
}
}
@objc(FeatureMaintenanceData)
class FeatureMaintenanceData: WebServiceEntity, Persistable {

static var contentId: ContentId = "featureMaintenance"

@NSManaged var identifier: String
@NSManaged var maintenance: Bool
@NSManaged var maintenanceDescription: String?

public static func fieldMapping() -> [FieldName: String] {
    return [
        "identifier": "identifier",
        "maintenance": "maintenance",
        "maintenanceDescription": "maintenanceDescription"
    ]
}
}
@discardableResult func createAndInsertMaintenance(
    version: String = "",
    maintenance: Bool = false,
    maintenanceDescription: String? = nil,
    features: [FeatureMaintenanceData]? = nil,
) -> MaintenanceData {
    let maintenance = NSEntityDescription.insertNewObject(
        forEntityName: String(describing: MaintenanceData.self),
        into: managedObjectContext
    ) as! MaintenanceData

    maintenance.version = version
    maintenance.softUpdateMinimalVersion = softUpdateMinimalVersion
    maintenance.maintenance = maintenance
    maintenance.maintenanceDescription = maintenanceDescription
    maintenance.features = features <-----This is where error occurs

    return updateMaintenance
}
**出于安全原因,我更改了一些代码

现在我必须模拟一个假的
MaintenanceData
来测试
features
属性,它是
[FeatureMaintenanceData]

功能MaintenanceData
编写如下:

@objc(MaintenanceData)
class MaintenanceData: WebServiceEntity, Persistable {

static var contentId: ContentId = "maintenance"

@NSManaged var version: String
@NSManaged var maintenance: Bool
@NSManaged var maintenanceDescription: String?
@NSManaged var features: [FeatureMaintenanceData]?

public static func fieldMapping() -> [FieldName: String] {
    return [
        "version": "version",
        "maintenance": "maintenance",
        "maintenanceDescription": "maintenanceDescription",
        "features": "features"
    ]
}
}
@objc(FeatureMaintenanceData)
class FeatureMaintenanceData: WebServiceEntity, Persistable {

static var contentId: ContentId = "featureMaintenance"

@NSManaged var identifier: String
@NSManaged var maintenance: Bool
@NSManaged var maintenanceDescription: String?

public static func fieldMapping() -> [FieldName: String] {
    return [
        "identifier": "identifier",
        "maintenance": "maintenance",
        "maintenanceDescription": "maintenanceDescription"
    ]
}
}
@discardableResult func createAndInsertMaintenance(
    version: String = "",
    maintenance: Bool = false,
    maintenanceDescription: String? = nil,
    features: [FeatureMaintenanceData]? = nil,
) -> MaintenanceData {
    let maintenance = NSEntityDescription.insertNewObject(
        forEntityName: String(describing: MaintenanceData.self),
        into: managedObjectContext
    ) as! MaintenanceData

    maintenance.version = version
    maintenance.softUpdateMinimalVersion = softUpdateMinimalVersion
    maintenance.maintenance = maintenance
    maintenance.maintenanceDescription = maintenanceDescription
    maintenance.features = features <-----This is where error occurs

    return updateMaintenance
}
现在我需要模拟数据,
MockDataFactory
中有一个函数返回一个
MaintenanceData
对象,我需要使用它并将其传递给函数进行测试。函数编写如下:

@objc(MaintenanceData)
class MaintenanceData: WebServiceEntity, Persistable {

static var contentId: ContentId = "maintenance"

@NSManaged var version: String
@NSManaged var maintenance: Bool
@NSManaged var maintenanceDescription: String?
@NSManaged var features: [FeatureMaintenanceData]?

public static func fieldMapping() -> [FieldName: String] {
    return [
        "version": "version",
        "maintenance": "maintenance",
        "maintenanceDescription": "maintenanceDescription",
        "features": "features"
    ]
}
}
@objc(FeatureMaintenanceData)
class FeatureMaintenanceData: WebServiceEntity, Persistable {

static var contentId: ContentId = "featureMaintenance"

@NSManaged var identifier: String
@NSManaged var maintenance: Bool
@NSManaged var maintenanceDescription: String?

public static func fieldMapping() -> [FieldName: String] {
    return [
        "identifier": "identifier",
        "maintenance": "maintenance",
        "maintenanceDescription": "maintenanceDescription"
    ]
}
}
@discardableResult func createAndInsertMaintenance(
    version: String = "",
    maintenance: Bool = false,
    maintenanceDescription: String? = nil,
    features: [FeatureMaintenanceData]? = nil,
) -> MaintenanceData {
    let maintenance = NSEntityDescription.insertNewObject(
        forEntityName: String(describing: MaintenanceData.self),
        into: managedObjectContext
    ) as! MaintenanceData

    maintenance.version = version
    maintenance.softUpdateMinimalVersion = softUpdateMinimalVersion
    maintenance.maintenance = maintenance
    maintenance.maintenanceDescription = maintenanceDescription
    maintenance.features = features <-----This is where error occurs

    return updateMaintenance
}
但是,它返回一个错误
对于ordered-to-many关系不可接受的值类型:property=“features”;所需类型=传感器数据集

既然我不知道Obj-c,有人能给我解释一下问题是什么以及如何解决吗?非常感谢