gpt4 book ai didi

ios - 具有删除对象的值类型的 Realm

转载 作者:行者123 更新时间:2023-11-30 11:57:26 26 4
gpt4 key购买 nike

我按照本教程为 Realm 对象创建协议(protocol):

https://medium.com/@gonzalezreal/using-realm-with-value-types-b69947741e8b

我有:

public protocol Persistable {
associatedtype PropertyValue: PropertyValueType
associatedtype ManagedObject: RealmSwift.Object
associatedtype Query: QueryType

init(managedObject: ManagedObject)

func getManagedObject() -> ManagedObject

}

public typealias PropertyValuePair = (name: String, value: Any)

public protocol PropertyValueType {
var propertyValuePair: PropertyValuePair { get }
}

public protocol QueryType {
var predicate: NSPredicate? { get }
var sortDescriptors: [SortDescriptor] { get }
}

我想创建如下方法:

public func delete<T: Persistable>(_ value: T) {
realm.delete(value)
}

尝试时

realm.delete(value.getManagedObject())

我从 Realm 收到错误“只能从其所属的 Realm 中删除对象。”

使用我的协议(protocol)删除 objc。

最佳答案

我也遇到了同样的问题。我解决这个问题的方法是确保我提供给 Realm 来删除的对象是直接从 Realm 获取的。它似乎不喜欢“getManagedObject”创建的映射对象。

请参阅此问题了解更多信息:Can only delete an object from the Realm it belongs to

关于ios - 具有删除对象的值类型的 Realm ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47649130/

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