今天我发现了Realm,但我对它并不熟悉。请帮忙。
我有两门课:
class EventDetail: Object {
dynamic var start_time : Int = 0
dynamic var end_time : Int = 0
convenience init(start_time: Int, end_time: Int ) {
self.init()
self.start_time = start_time
self.end_time = end_time
}
class Channel : Object {
dynamic var id : Int = 0
convenience init ( id : Int) {
self.id = id
}
let details = List<EventDetail>()
}
我像这样填充数据库:
let realm = try! Realm()
var newChannel = Channel (id : id)
let detailEvent1 = EventDetail(start_time:10, end_time: 20)
let detailEvent2 = EventDetail(start_time:20,end_time: 30)
newChannel.details.append(detailEvent1)
newChannel.details.append(detailEvent2)
try! realm.write {
realm.add(newChannel)
}
问题是:如何删除/更新特定索引处的详细信息?
例如:从索引= 100的 channel 获取detailEvent2
最佳答案
您需要对要更改或删除的对象类型执行提取。
基本操作是
realm.objects(Channel.self)
要找出要更改或删除的对象,您可以使用简单的高阶函数来过滤结果,例如谓词:
let lateStarters = realm.objects(Channel.self).filter(NSPredicate(format: "start_time > 10", argumentArray nil))
并通过枚举结果数组来更改它们的属性:
try? realm.write({
for channel in lateStarters {
channel.start_time = 100
}
})
关于swift - 如何使用 Realm 更新/删除索引处的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39922144/