bypass thread checks depending on location of Field call

This commit is contained in:
John Estropia
2020-02-21 11:52:11 +09:00
parent e1b03b4a89
commit 361dba58c6
8 changed files with 52 additions and 29 deletions

View File

@@ -380,7 +380,7 @@ extension ObjectPublisher where O: CoreStoreObject {
return nil
}
let field = object[keyPath: member]
return type(of: field).read(field: field, for: rawObject) as! V?
return type(of: field).read(field: field, for: rawObject, bypassThreadCheck: false) as! V?
}
/**
@@ -396,7 +396,7 @@ extension ObjectPublisher where O: CoreStoreObject {
return nil
}
let field = object[keyPath: member]
return type(of: field).read(field: field, for: rawObject) as! V?
return type(of: field).read(field: field, for: rawObject, bypassThreadCheck: false) as! V?
}
/**
@@ -412,7 +412,7 @@ extension ObjectPublisher where O: CoreStoreObject {
return nil
}
let field = object[keyPath: member]
return type(of: field).read(field: field, for: rawObject) as! V?
return type(of: field).read(field: field, for: rawObject, bypassThreadCheck: false) as! V?
}
/**
@@ -428,7 +428,7 @@ extension ObjectPublisher where O: CoreStoreObject {
return nil
}
let field = object[keyPath: member]
guard let value = type(of: field).read(field: field, for: rawObject) as! V? else {
guard let value = type(of: field).read(field: field, for: rawObject, bypassThreadCheck: false) as! V? else {
return nil
}