質問: これらの2つの方法のパフォーマンスへの影響は同じですか? 私はiPhoneアプリケーションを開発しており、永続性のためにCoreDataを追加し始めました。しかし、私はひとつのジレンマに遭遇しました。 コンテキスト:私はPersonという名前のEntityを持っています、Person Entityは一つのAttributeの名前を持っています。 タスク:Personオブジェクトの名前を変更する(NSManagedObject) Performance Test : **Which option will be faster and better in matter of performance?** オプション1:オブジェクトが一度だけ作成されたと仮定 1. CoreDataからオブジェクトを取得する 2. オブジェクトの名前を編集する 3. NSManagedObjectContextを保存します。 オプション2:毎回新しいオブジェクトを作成する。 1. 以前に作成したオブジェクトを削除する 2. 新しいオブジェクトを作成する 3. NSManagedObjectContextを保存します。 *NOTE : I have only one attribute! Name. Imagine I have game and user are being asked for their player name.* I know there is will be not much difference in performance for a such a small task. But what later if I implement in something hardcore? So for defence which one is better? どんな種類の入力にも感謝します! --- My Thoughts : Both options should be similar in matter of performance. As fetching data and than updating and saving seems similar to delete recreate and save. I want someone to **私が間違っていることを証明する。**
回答: オプション2はナツティですので、オプション1はより優れています。 私はパフォーマンスをテストしていませんが、オブジェクトの作成に伴うオーバーヘッドがあるため、オプション2が高速になる可能性は非常に低いです。しかし、オプション2がわずかに高速だったとしても、それはプロセスとして論理的な意味を持たないので、コードを構造化するための素晴らしい方法ではありません。同じ人物が引き続き表示されている場合は、同じオブジェクトでそれらを表現します。奇妙な取り決めで始まっているので、他の何かは予期しない方法でトラックの頭の下で頭痛を尋ねているだけです。 :)