変換可能な型を使用して Core Data モデルの属性を暗号化しようとしていますが、データが sqlite db に永続化された後に結果を取得しようとすると、多くの問題が発生します。私の Core Data の主な用途は、いくつかのユーザー関連データを保存し、名前、姓などで並べ替えて再度フェッチし、姓/名の最初の文字をセクション ヘッダーとして使用してテーブル ビューに表示することです。lastName をソート記述子として使用して NSFetchedResultsController でフェッチ要求を実行しようとすると、何も返されないため、暗号化が結果に干渉しているようです。次のエラーが表示されます。
CoreData: error: (NSFetchedResultsController) The fetched object at index X has an out of order section name 'S. Objects must be sorted by section name'
この問題の調査に多くの時間を費やしましたが、役に立ちませんでした。問題の内容と回避方法を知っている人はいますか? トランスフォーマーがデータを復号化した後に、データベースでソートを行う方法はおそらくありますか? または、生データを取得して、NSFetchedResultsController のインスタンスにデータを取得した後に並べ替える方法はありますか?
このソースを使用して、コア データ属性を暗号化しました。