I am using a custom source expression
NSExpression(format: "FETCH(FUNCTION($manager, \"customFetchRequestForSourceEntityNamed:predicateString:\" , \"\(mapping.sourceEntityName!)\", \"TRUEPREDICATE\"), $manager.sourceContext, NO)")
for mapping model.
The fetch is being executed normally within the custom method, but exception '<...> is not a valid NSFetchRequest.' is thrown somewhere later inside the NSMigrationManager.migrateStore() method.
Any clues?
The expected result type of this method is NSFetchRequest, not what the fetch returns.
The signature would be -
extension NSMigrationManager {
@objc func customFetchRequest(forSourceEntityNamed entityName: String, predicateString: String) -> NSFetchRequest<NSFetchRequestResult> {
来源:https://stackoverflow.com/questions/56306232/is-not-a-valid-nsfetchrequest