这是我的UITableView代码
在viewDidLoad
中self.audioHistoryTableView = [[UITableView alloc] init];
self.audioHistoryTableView.delegate = self;
self.audioHistoryTableView.dataSource = self;
表格视图
#pragma mark - Table view data source
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
NSLog(@"numberOfRowsInSection");
NSLog(@"tableeeeeeee %lu",(unsigned long)[audioHistory count]);
return [audioHistory count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSLog(@"cellForRowAtIndexPath");
NSString *CellIdentifier = @"historyCell";
UITableViewCell *cell = (UITableViewCell *)[self.audioHistoryTableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
// Configure the cell...
NSString *audio = [audioHistory objectAtIndex:indexPath.row];
cell.textLabel.text = audio;
return cell;
}
当我添加数据并调用重新加载
时NSArray *newItem = [NSArray arrayWithObject:@"new audio!"];
NSLog(@"new item : %@",newItem);
[audioHistory addObjectsFromArray:newItem];
[self.audioHistoryTableView reloadData];
我知道它不起作用,因为我添加了新数据并更改为其他页面,当返回此页面时,显示了添加的数据。
答案 0 :(得分:0)
您可以通过界面构建器设置委托和数据源吗?此外,如果它是在界面构建器中创建的,为什么还要初始化表?删除它:
self.audioHistoryTableView = [[UITableView alloc] init];
self.audioHistoryTableView.delegate = self;
self.audioHistoryTableView.dataSource = self;
然后在界面构建器控件中从UITableView拖动到UIViewController并将委托设置为self。并再次执行此操作并将数据源设置为self。试试那个