numberOfSectionsInTableView
メソッドが呼び出されないのはなぜですか? を追加すると呼び出さ[self.tableView reloadData]
れますviewDidLoad
が、それでもcellForRow
呼び出されません。
編集:次のコードを更新して、ペン先を登録しましたUITableViewCell
。
でUIViewController
、私は持っています:
- (void)viewDidLoad
{
[super viewDidLoad];
XXFeedTableViewController *tableViewController = [[XXFeedTableViewController alloc] initWithStyle:UITableViewStylePlain];
tableViewController.view.frame = self.view.bounds;
[self addChildViewController:tableViewController];
}
XXFeedTableViewController.h
@interface XXFeedTableViewController : UITableViewController
@end
XXFeedTableViewController.m
#import "XXFeedTableViewController.h"
#import "XXFeedTableViewCell.h"
@interface XXFeedTableViewController ()
@end
@implementation XXFeedTableViewController
- (id)initWithStyle:(UITableViewStyle)style {
self = [super initWithStyle:style];
if (self) {
}
return self;
}
- (void)viewDidLoad {
[super viewDidLoad];
[self.tableView registerNib:[UINib nibWithNibName:@"XXFeedTableViewCell" bundle:nil] forCellReuseIdentifier:@"XXFeedTableViewCell"];
}
#pragma mark - Table view data source
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return 5;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"XXFeedTableViewCell";
XXFeedTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
cell.textLabel.text = @"Hey";
return cell;
}
@end
アップルのドキュメントは次のように述べています。
nib ファイルが指定されていない場合、または nib ファイルがデータ ソースまたはデリゲートを定義していない場合、UITableViewController はデータ ソースとテーブル ビューのデリゲートを self に設定します。テーブル ビューが最初にロードされて表示される直前に、テーブル ビュー コントローラーがテーブル ビューのデータをリロードします。