【发布时间】:2017-12-05 08:29:52
【问题描述】:
我按照本教程为领域对象创建协议:
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())
从领域中得到错误“只能从它所属的领域中删除一个对象。”
使用我的协议删除 objc。
【问题讨论】:
-
你没有使用
Realm的任何实例? -
func delete 与 Realm 实例在 calss 中,实例名称为 'realm'
-
您是否先将对象添加到领域,然后再尝试删除它?是同一个境界吗?错误消息并没有什么神秘之处。您没有显示足够的代码让我们判断您是否正确使用 Realm。