我们有应用程序将用户数据存储在核心数据中,并将其与云工具包与父子上下文堆栈同步。我们需要保护用户数据,因此除了id和修改后的数据之外,所有其他信息都是字典形式,转换为加密数据并作为可转换属性存储在核心数据中。我们目前在我们的应用程序中有3种形式的对象
CKRecord
: - 将数据同步到CloudKit NSManagedObject
: - 将数据存储到核心数据NSObject
: - 用于UI操作和与用户的交互。 通常NSManagedObject也可用于第3点。但是托管对象没有搜索和排序所需的属性。例如,我们需要按名称进行搜索,但NSManagedObject将其作为可转换属性中的NSData进行搜索,因此我们必须将NSManagedObject转换为NSObject并在我们的应用程序中使用。
以下问题需要帮助
父上下文: - 用于主UI
子上下文:后台与NSOperationQueue
同步。
NSFetchedResultsController
可以对此有所帮助,但是我如何使用它可转换属性进行排序和搜索。