0

UITableview reloadData 関数が cellforRowAtIndexPath メソッドを呼び出していません。私が試した次のこと:

  1. 電話[self.myTableView reloadData];
  2. reloadDataメソッドも呼び出しViewWillAppearます。
  3. 書かれself.myTableView.delegate=self;self.myTableView.datasource=selfいます。
  4. また、行数が適切に更新されていることを NSLog を使用してテストしました。
  5. データ ソースとデリゲートはストーリーボードで接続されます。
4

4 に答える 4

0

Make sure you set the table view's delegate:

tableView.delegate = _an_object_that_conforms_to_UITableViewDelegate_;

This is normally the view controller in which you've declared the table view so you would have:

tableView.delegate = self;

Just make sure the view controller that contains the table view and acts as it's delegate declares itself as an UITableViewDelegate:

@class MyViewController <UITableViewDelegate> {

  UITableView *tableView;
  ...
于 2012-07-26T14:44:17.333 に答える
0

I guess you haven't declared delegate in your .h file.

Example.

@interface ClassName:UIViewController <UITableViewDelegate> 
于 2012-07-25T18:05:38.533 に答える
0

あなたの見解は と に準拠していますUITableViewDelegateUITableViewDatasource?

そして、少なくともそれらのプロトコルで必要なすべてのメソッドを実装していますか? また、言う必要はありません。クラス内で作業している場合は、self.myTableView単に言うことができます。myTableView

ばかげているように聞こえますが、絵コンテを保存するのを忘れていませんか? 私は何度もそれをしました。

于 2012-07-25T16:13:10.920 に答える
0

メソッドを実装しましたか?

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    return 1; //Return the number of sections you want
}

デフォルトでは 0 を返すため、忘れがちです。

そうしないと、テーブルビューはセクションがないと見なし、行を要求しません。

于 2012-07-26T13:34:56.570 に答える