give opportunity for faster equating of ObjectSnapshot

This commit is contained in:
John Estropia
2020-12-26 23:44:35 +09:00
parent 9406901b28
commit 5de5ecee06

View File

@@ -98,7 +98,7 @@ public struct ObjectSnapshot<O: DynamicObject>: ObjectRepresentation, Hashable {
public static func == (_ lhs: Self, _ rhs: Self) -> Bool {
return lhs.id == rhs.id
&& lhs.valuesRef == rhs.valuesRef
&& (lhs.generation == rhs.generation || lhs.valuesRef == rhs.valuesRef)
}
@@ -122,18 +122,27 @@ public struct ObjectSnapshot<O: DynamicObject>: ObjectRepresentation, Hashable {
self.id = objectID
self.context = context
self.values = values
self.generation = .init()
}
// MARK: FilePrivate
fileprivate var values: [String: Any]
fileprivate var values: [String: Any] {
didSet {
self.generation = .init()
}
}
// MARK: Private
private let id: O.ObjectID
private let context: NSManagedObjectContext
private var generation: UUID
private var valuesRef: NSDictionary {