ビューコントローラーにテーブルビューを追加したストーリーボードで、Ctrlキーを押してTableViewをビューコントローラーにドラッグし、「デリゲート」と「データソース」を接続しました。(.h) ファイルに追加しまし<UITableViewDataSource,UITableViewDelegate>
たが、アプリを実行すると、SIGABRT エラー (?) が発生し、アプリがクラッシュします。私は何をすべきか?
質問する
17661 次
1 に答える
20
これまでのところ、実装ファイルに UITableViewDataSource と UITableViewDelegate を実装するだけです。
必要な機能は次のとおりです。
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return [regions count];
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
// Number of rows is the number of time zones in the region for the specified section.
Region *region = [regions objectAtIndex:section];
return [region.timeZoneWrappers count];
}
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
// The header for the section is the region name -- get this from the region at the section index.
Region *region = [regions objectAtIndex:section];
return [region name];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *MyIdentifier = @"MyReuseIdentifier";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:MyIdentifier]];
}
Region *region = [regions objectAtIndex:indexPath.section];
TimeZoneWrapper *timeZoneWrapper = [region.timeZoneWrappers objectAtIndex:indexPath.row];
cell.textLabel.text = timeZoneWrapper.localeName;
return cell;
}
于 2013-07-08T19:35:00.647 に答える