我有一段关系:
Parent
有许多Children
即:
class Factory: Object {
public let engines = List<Engine>()
}
class Engine:Object {
private let parents:LinkingObjects<Factory> = LinkingObjects(fromType: Factory.self, property: "engines")
var parent:Factory? {
return self.parents.first
}
}
我通过JSON读取工厂并在for循环中手动创建子项(Engine),类似于:
var engines:[Engine] = [Engine]()
for _ in stride(from:0, to: 3, by: 1) {
let engine: Engine = Engine.init()
engines.append(engine)
}
return engines
在我的测试中,我想查询给定引擎的父级以确保父级是正确的;或者可能获得父属性。
但是,每当我尝试通过父项获取属性时,它总是为空;
for (_, element) in (factories.enumerated()) {
for (_, eng) in element.engines.enumerated() {
print (eng.parent ?? "N/A" as Any) // Always prints out N/A
}
}
理想情况下,我希望能够访问父母的数据;比如父母的名字,也许是费用等。
我尝试过重置模拟器并删除派生数据;但不管我做什么,结果总是N / A或空。
如何查询给定元素并确保我可以获取父数据?
非常感谢
答案 0 :(得分:1)
事实证明,为解决这个问题,我必须做很多事情。
我正在使用XCTest而Realm导致出现多个目标的问题。
commit A
[... list of commits]
commit R
我必须把我的数据写入Realm,我还没有这样做;
public