【问题标题】:Where is default source fetch `fetchRequestForSourceEntityNamed:predicateString:` for `NSMigrationManager` defined?`NSMigrationManager`的默认源获取`fetchRequestForSourceEntityNamed:predicateString:`在哪里定义?
【发布时间】:2019-10-11 17:47:58
【问题描述】:

默认的源获取表达式 sourceExpression FETCH(FUNCTION($manager, "fetchRequestForSourceEntityNamed:predicateString:" , "MyEntity", "TRUEPREDICATE"), $manager.sourceContext, NO)指的是NSMigrationManagerfetchRequestForSourceEntityNamed:predicateString:方法。

但它没有在任何地方定义,或者至少我找不到它!

我想重写此方法以返回一个唯一项数组,最好先调用super方法,然后再进行过滤。

你能指出这个方法的默认定义吗?

【问题讨论】:

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


    【解决方案1】:

    它是 Apple 的私有 API。没有可用的文档。给它一个实体predicate string,并彻底测试它。当然,您也可以将其传递给您自己的函数而不是覆盖。

    【讨论】:

    • 我正在传递我自己的函数,但我宁愿调用原始函数而不是自己获取。因为现在它在将结果返回给迁移管理器时由于某种未知原因而失败(“fetch is invalid”)。
    • 我从未见过“fetch is invalid”,但它似乎应该是可以解决的:)
    猜你喜欢
    • 2020-09-30
    • 1970-01-01
    • 1970-01-01
    • 2021-06-07
    • 2015-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-21
    相关资源
    最近更新 更多