Core Dataプログラミングガイドから:
サポートされていない属性がオブジェクトの場合、管理対象オブジェクトモデルで、そのタイプを未定義として指定し、それが一時的であることを指定します。エンティティのカスタムクラスを実装する場合、属性にインスタンス変数を追加する必要はありません。管理対象オブジェクトのプライベート内部ストアを使用できます。以下で説明する実装について注意すべき点は、それらが一時的な値をキャッシュすることです。これにより、値へのアクセスがより効率的になります。変更管理にも必要です。カスタムインスタンス変数を定義する場合は、deallocまたはfinalizeではなく、didTurnIntoFaultでこれらの変数をクリーンアップする必要があります。
私はこれを「便利さ」と「すべての属性を1か所に定義しておく-管理対象オブジェクトモデル」を意味すると解釈します。
MOMのバージョン管理に関しては、コアデータモデルのバージョン管理とデータ移行プログラミングガイドには次のように書かれています。
バージョン管理に関するCoreDataの見解は、永続性に影響を与えるモデルの機能にのみ関心があるというものです。
ただし、一時的なプロパティでの位置は明確にされていません。実際、その段落を詳しく説明している2番目の箇条書きは、ほとんど矛盾のように聞こえます。簡単なテスト(「name」属性を持つ単純な「Foo」エンティティを持つ新しいプロジェクト、複数のfooを含むファイルの保存、一時的なプロパティの追加、再実行、およびfooのすべてのロード、新しいfooの追加、保存、閉じる、 re-open)は、一時的なプロパティが実際にはバージョン管理システムによって考慮されていないことを示しています。