-1

という名前の Transformable 属性を持つコア データ モデルがありますlocation。ただし、 で新しいエンティティを作成するとinitWithEntity:insertIntoManagedObjectContext:、.locationnil

それは期待される動作ですか?エンティティ内のフィールドのすべてのメモリが事前に割り当てられることを期待していました。これが予期された動作である場合、これを回避するための推奨される方法は何ですか? にメモリを割り当てるlocationawakeFromInsertは良い考えですか?

4

1 に答える 1

0

はい、それは予想されます。エンティティにデータを与えていない場合、割り当てるサイズをどのように知るのでしょうか。それでも、実際のオブジェクトではなく、実際にオブジェクトに変換できないため、その割り当てはどうなりますか。nilそこに何もない場合、プロパティが保持されることを期待する必要があります。デフォルトの空の割り当てで埋める必要はありません。

設定したいデフォルトのオブジェクトがある場合、それは別の問題です。それならawakeFromInsert良い選択肢かもしれません。問題は、デフォルト オブジェクトをストアに保存する必要があるかどうか (したがって、検索可能にする必要があるかどうか) です。そうでない場合は、カスタム アクセサー メソッドを実装して、格納されている値がnil.

于 2013-08-25T11:19:46.500 に答える