テーブルの値を追加または編集する場合は、モーダルビューコントローラーを使用します。編集するときは、モーダルビューコントローラーにNSIndexPathプロパティを設定して、更新するアイテムを認識できるようにします。ただし、新しいアイテムを追加する場合、送信するNSIndexPath値がないため、プロパティは未設定のままです。
このようにプロパティを未設定のままにしておくことに問題はありますか?「nil」に設定することはできません。
テーブルの値を追加または編集する場合は、モーダルビューコントローラーを使用します。編集するときは、モーダルビューコントローラーにNSIndexPathプロパティを設定して、更新するアイテムを認識できるようにします。ただし、新しいアイテムを追加する場合、送信するNSIndexPath値がないため、プロパティは未設定のままです。
このようにプロパティを未設定のままにしておくことに問題はありますか?「nil」に設定することはできません。
まず、なぜ設定できないのですnil
か?それは問題ではないはずです。
次に、オブジェクトが占有するメモリが割り当て時にゼロになる場合。つまり、オブジェクトを作成するときに、すべてのインスタンス変数が0、NULL、nil(すべて0)に設定されます。したがって、インスタンス変数(またはivarを参照するプロパティ)を変更しない限り、ゼロになります。
大丈夫なはずです。プロパティは、nilに初期化されていると思います。したがって、モーダルビューコントローラーのメソッドでは、nilオブジェクトdealloc
を呼び出すことはできません。release
または、安全のために、モーダルビューコントローラーのinitメソッドで、プロパティをnilに設定します(例:self.myIndexPath = nil)。それはうまくいくはずです。