Objective c 编写swift案例时,ordered to many关系的值类型不可接受
我正在从事一个项目,该项目要求我在现有文件结构上添加一个新的测试用例。现在我正在做一个测试用例,它需要进行api调用以获取维护信息 我得到的维护信息结构如下: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 @
@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,有人能给我解释一下问题是什么以及如何解决吗?非常感谢