2012-02-08 10 views
1

私はsearchUpdateControllerと呼ばれるビューコントローラを持っています、それはeditControllerと呼ばれる新しいビューコントローラを押すためのボタンを持っています。 editControllerであっ保存というボタンがあり、それには次のコードが含まれています以前のViewControllerからオブジェクトを更新するには?



searchUpdateController = [[SearchUpdate alloc] init]; 
    [self.navigationController popViewControllerAnimated:YES]; 
    [searchUpdateController.fieldsValArray replaceObjectAtIndex:3 withObject:joinedString]; 
    [searchUpdateController.mainTable reloadData]; 
    [searchUpdateController release]; 

fieldsValArraysearchUpdateControllerNSMutableArray財産であり、mainTableはsearchUpdateControllerでのtableViewあります。私はfieldsValArrayの内容を更新し、tableViewのデータをリロードしたかったのです。 [保存]ボタンをクリックしても何も起こりません。私がここで紛失しているアイデアは何ですか?

+0

これをしないでください - > searchUpdateController = [[SearchUpdate alloc] init]; 新しいオブジェクトを作成していますが、これは古いオブジェクトを参照していません – Mrunal

答えて

1

ここでは、古いオブジェクトをコード内で使用しないで新しいオブジェクトを作成します。 searchUpdateController = [[SearchUpdate alloc] init];searchUpdateControllerSearchUpdateControllerクラスに設定します。そのオブジェクトを指し示すようにしてください。editController

+0

hmm効果はありません。@class SearchUpdateを配置しました。私の2番目のコントローラの.hファイルで、私はプロパティsearchUpdateControllerを宣言しました –

+0

'editController'を押している' SearchUpdateController'クラスからこの 'editController.searchUpdateController = self'のように設定しました –

+0

、 、それは今働いている。 –

1

これをしないでください - > searchUpdateController = [[SearchUpdate alloc] init]; ここでは、これを行うsearchUpdateControllerに戻って移動する前に、あなたの古いオブジェクト

に言及されていない新しいオブジェクトを作成している:self.navigationControllerから2番目の最後のオブジェクトを取得します

  • を。今、あなたが同じオブジェクトを持っているsearchUpdateController
  • に他ならないviewControllersは、あなたが
  • をしたい方配列データは、今すぐデータを再ロードするために2つの可能性があります更新:

    1. 使用NSNotificationはとテーブルをリロードする必要がある親ビューコントローラへの通知を放つ
    2. テーブルをリロードする親クラスのメソッドを呼び出す

希望はこれです。

関連する問題