gpt4 book ai didi

ios - 快速将非 Realm 对象作为被忽略的属性添加到 Realm 对象?

转载 作者:IT王子 更新时间:2023-10-29 05:51:52 25 4
gpt4 key购买 nike

我正在尝试将一个非 Realm 类对象添加到 Realm 对象,就像这样。

class TrainTripItinerary: Object {
dynamic var departStationName: String?
dynamic var departStationCode: String?
var runningStatus: TrainRunningStatus?

override static func ignoredProperties() -> [String] {
return ["runningStatus"]
}

}

虽然 TrainRunningStatus 不是 Realm 类。

class TrainRunningStatus {
var trainDataFound: String?
var startDate: String?
var startDayDiff: String?
}

我现在无法更新 runningstatus 属性。有人知道它是如何工作的吗?我单独获取 runnningstatus 并稍后将其分配给 Realm 对象,但即使在分配之后它仍然为零。

例如。

let runningStatus = TrainRunningStatus()
trainTripItinerary.runningStatus = runningStatus

这条线不起作用,trainTripItinerary runningStatus 属性设置不正确,它始终为 nil。

最佳答案

正如评论中所建议的,确保您使用相同的 TrainTripItinerary 实例,因为被忽略的属性不会自动更新它们在不同实例中的值。

请参阅下面的示例代码,该代码演示了被忽略的属性如何工作

let realm = try! Realm()

try! realm.write {
realm.deleteAll()
}

let runningStatus = TrainRunningStatus()

var trainTripItinerary = TrainTripItinerary()
trainTripItinerary.runningStatus = runningStatus

assert(trainTripItinerary.runningStatus != nil)

try! realm.write {
realm.add(trainTripItinerary);
}

assert(trainTripItinerary.runningStatus != nil)

trainTripItinerary = realm.objects(TrainTripItinerary.self).first!

assert(trainTripItinerary.runningStatus == nil)

关于ios - 快速将非 Realm 对象作为被忽略的属性添加到 Realm 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42670873/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com