具有可转换属性的NSFetchedResultsController

时间:2016-12-23 11:42:33

标签: ios core-data nsfetchedresultscontroller nsmanagedobjectcontext

我们有应用程序将用户数据存储在核心数据中,并将其与云工具包与父子上下文堆栈同步。我们需要保护用户数据,因此除了id和修改后的数据之外,所有其他信息都是字典形式,转换为加密数据并作为可转换属性存储在核心数据中。我们目前在我们的应用程序中有3种形式的对象

  1. CKRecord: - 将数据同步到CloudKit
  2. NSManagedObject: - 将数据存储到核心数据
  3. NSObject: - 用于UI操作和与用户的交互。
  4. 通常NSManagedObject也可用于第3点。但是托管对象没有搜索和排序所需的属性。例如,我们需要按名称进行搜索,但NSManagedObject将其作为可转换属性中的NSData进行搜索,因此我们必须将NSManagedObject转换为NSObject并在我们的应用程序中使用。

    以下问题需要帮助

    1. 我们如何在同步后跟踪核心数据的变化,以便我们可以相应地更新UI。目前在通知之后我们删除了对象并重新获取: - 这是性能不佳的。
    2. 父上下文: - 用于主UI 子上下文:后台与NSOperationQueue同步。

      1. NSFetchedResultsController可以对此有所帮助,但是我如何使用它可转换属性进行排序和搜索。

0 个答案:

没有答案