我试图将一个非领域类对象添加到这样的领域对象.
class TrainTripItinerary: Object {
dynamic var departStationName: String?
dynamic var departStationCode: String?
var runningStatus: TrainRunningStatus?
override static func ignoredProperties() -> [String] {
return ["runningStatus"]
}
}
Run Code Online (Sandbox Code Playgroud)
虽然TrainRunningStatus不是领域类.
class TrainRunningStatus {
var trainDataFound: String?
var startDate: String?
var startDayDiff: String?
}
Run Code Online (Sandbox Code Playgroud)
我现在无法更新runningstatus属性.谁知道它是如何工作的?我分别获取runnningstatus并将其分配给realm对象,但即使在赋值后它也保持为零.
例如.
let runningStatus = TrainRunningStatus()
trainTripItinerary.runningStatus = runningStatus
Run Code Online (Sandbox Code Playgroud)
这行不行,trainTripItinerary runningStatus属性未正确设置,它总是为零.
正如评论中所建议的,请确保使用相同的实例,TrainTripItinerary因为忽略的属性不会在不同实例之间自动更新其值。
请参阅下面的示例代码,该代码演示了被忽略的属性如何工作
\n\nlet realm = try! Realm()\n\ntry! realm.write {\n realm.deleteAll()\n}\n\nlet runningStatus = TrainRunningStatus()\n\nvar trainTripItinerary = TrainTripItinerary()\ntrainTripItinerary.runningStatus = runningStatus\n\nassert(trainTripItinerary.runningStatus != nil)\n\ntry! realm.write {\n realm.add(trainTripItinerary);\n}\n\nassert(trainTripItinerary.runningStatus != nil)\n\ntrainTripItinerary = realm.objects(TrainTripItinerary.self).first!\n\nassert(trainTripItinerary.runningStatus == nil)\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
1988 次 |
| 最近记录: |