“ <...>不是有效的NSFetchRequest。”

时间:2019-05-25 15:30:32

标签: ios swift core-data core-data-migration

我正在使用自定义的源表达式

NSExpression(format: "FETCH(FUNCTION($manager, \"customFetchRequestForSourceEntityNamed:predicateString:\" , \"\(mapping.sourceEntityName!)\", \"TRUEPREDICATE\"), $manager.sourceContext, NO)") 

用于映射模型。

获取操作通常在自定义方法中执行,但是异常'<...> is not a valid NSFetchRequest.'在稍后的NSMigrationManager.migrateStore()方法内抛出。

有任何线索吗?

1 个答案:

答案 0 :(得分:0)

此方法的预期结果类型为NSFetchRequest,而不是提取返回的结果。

签名应该是-

extension NSMigrationManager {

    @objc func customFetchRequest(forSourceEntityNamed entityName: String, predicateString: String) -> NSFetchRequest<NSFetchRequestResult> {