【发布时间】:2017-03-08 12:03:31
【问题描述】:
我正在尝试将非领域类对象添加到领域对象,类似这样。
class TrainTripItinerary: Object {
dynamic var departStationName: String?
dynamic var departStationCode: String?
var runningStatus: TrainRunningStatus?
override static func ignoredProperties() -> [String] {
return ["runningStatus"]
}
}
虽然 TrainRunningStatus 不是领域类。
class TrainRunningStatus {
var trainDataFound: String?
var startDate: String?
var startDayDiff: String?
}
我现在无法更新 runningstatus 属性。有人知道它是如何工作的吗?我单独获取 runnningstatus 并稍后将其分配给领域对象,但即使在分配之后它也保持为零。
例如。
let runningStatus = TrainRunningStatus()
trainTripItinerary.runningStatus = runningStatus
这条线不起作用,trainTripItinerary runningStatus 属性设置不正确,它始终为零。
【问题讨论】:
-
无法更新是什么意思?您不能将其设置为新值吗?
-
是的!也更新了我的问题。
-
如果您在将断点设置为新值后立即设置断点,它会保持为零吗?这听起来很奇怪,我怀疑它在其他地方被设置为零。由于它是一个被忽略的属性,如果你在设置它之后获取对象,它将为 nil,因为它没有被保存。
-
请记住,如果代表相同 Realm 对象的另一个实例上的相同属性发生更改,则忽略的属性不会自动更新其值,因此请确保更新正确的实例。并确保在获取对象后更新此属性,这些属性不会持久化。
-
@ConnorNeville 是的,我不想保留它,所以我只想在应用程序运行时保留它。我通过从网络中获取它来分配它们,并且只在该应用程序会话期间想要该属性。但奇怪的是这个属性在赋值后仍然为零。