2009-07-21 25 views
1

私は直接ex: から開始します。私は2つのクラスAとBを持っています。どちらもUITableViewControllerから派生しています。reloadDataメソッドは別のクラスから呼び出されていません

ナビゲーションコントローラにも追加されているため、AからBへのナビゲーションが行われます。これらの両方のクラスでは、データをテーブルに表示するためにデータベースを使用します。 Bビューでは、DBから行を削除し、そのDB表の行数を表示します。その作用の

//in class B 
-(IBAction)backBtnPressed 
{ 
[ObjA.tbleView reloadData]; 
[self.navigationController popViewControllerAnitmated:YES]; 
} 

:今、私がやっている何が、私はこの方法 TRY 1を呼び出していますしたいナビゲーションのBACKボタン上にあります。このメソッドは、ビューAのデータをリロードしないという問題があります。つまり、cellForIndexPath ...などのtbleViewのデリゲートメソッドは呼び出されません。

//in class B 
-(IBAction)backBtnPressed 
{ 
[ObjA.tbleView myReloadData]; 
[self.navigationController popViewControllerAnitmated:YES]; 
} 
//Class A 
-(void)myReloadData 
{ 
[self.tbleView reloadData]; 
} 

それは、このメソッドに入ってくるが、それでものtableViewデリゲートメソッドを呼び出すことはありません。 はその後、私はそれがreloadDataが同じクラスから呼び出すことがshudも思ったので、この TRY 2をやりました。私はこの愚かなことを行うことができませんよ、なぜ私に知らせてください:(。 よろしく... アミット

答えて

1

はに応じて、お使いのペン先またはコードを使用してどちらか(あなたが正しくUITableViewdelegatedataSourceコンセントを接続していますあなたは近くにいるどのようにテーブルを作成する)

+0

をはい私はXIBファイル上のファイルの所有者とテーブルビューコントロールを接続している。また、これらを使用してコードスルー接続。コード行: - (void)viewDidLoad { self.title = NSLocalizedString(@ "My Worklist"、@ "WorkListViewController title"); self.tblObj.delegate = self; self.tblObj.dataSource = self; self.tblObj.rowHeight = 65; self.tblObj.separatorStyle = UITableViewCellSeparatorStyleSingleLine; self.tblObj.sectionHeaderHeight = 0; } – AmJa

0

、クラスAでこれを置く:?

- (void)viewWillAppear:(BOOL)animated { 
    [super viewWillAppear:animated]; 
    [self.tableView reloadData]; 
} 
+0

ありがとうございますが、これをやってみましたが、私のviewWillAppearメソッドは呼び出されません。私はたくさん試しましたが、なぜこのメソッドが自動的に呼び出されないのかわかりません:o(。 – AmJa

関連する問題