カスタムテーブルビューを作成する方法を学ぶためにWebを検索し(特定のビューのナビゲーターバーを非表示にしたいため)、各手順を実行しています。ただし、私の結果ではテーブルが表示されません。
これが私の.hファイルです
#import <UIKit/UIKit.h>
@interface HallFameControllerViewController : UIViewController
<UITableViewDelegate, UITableViewDataSource>{
NSArray *leaders;
}
@property (strong, nonatomic) NSArray *leaders;
@end
と私の.mファイル
#import "HallFameControllerViewController.h"
@interface HallFameControllerViewController ()
@end
@implementation HallFameControllerViewController
@synthesize leaders;
- (void)viewDidLoad
{
[super viewDidLoad];
leaders = [NSArray arrayWithObjects:@"Player #1", @"Player #2", @"Player #3", nil];
}
- (void) viewDidUnload{
self.leaders = nil;
}
- (void) viewWillAppear:(BOOL)animated{
[self.navigationController setNavigationBarHidden:NO];
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
// Return the number of sections.
return 0;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
// Return the number of rows in the section.
return [leaders count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
// Configure the cell.
cell.textLabel.text = [self.leaders objectAtIndex: [indexPath row]];
return cell;
}
@end
ストーリーボードにViewControllerを作成し、その中に1つのラベルと1つのTableViewがあります。ViewControllerのカスタムクラスを「HallFameControllerViewController」に設定し、dataSource、テーブルビューのデリゲートも「HallFameControllerViewController」に設定しました。結果、ラベルはありますが、テーブルはありません。
サイド.mファイルにいくつかのprintf()ステートメントがあり、viewDidLoad()が実行されていますが、cellForRowAtIndexPath()はありません!
私がここで間違っていることは何ですか?さらに、cellIdentifierとは何ですか?なぜ「Cell」に(自動的に)設定されているのですか?
前もって感謝します。