我遇到了一个奇怪的问题 - 在我的代码中,我以XML格式从互联网上获取数据并填写NSMutableArray(共34项)。
此数据应显示在TableView中。我为此创建了一个自定义TableViewCell。但是它始终只显示前10个项目(0-9),然后第11个项目将在您向上滚动表格时更改(从11开始并将自身更改为12,13,14 ......),然后它将显示前10个项目。
- (NSInteger)tableView:(UITableView*)tableView numberOfRowsInSection:(NSInteger)section {
return [myCurrencies count];
}
- (UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *myIdentifier = @"CurrencyDisplayCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:myIdentifier];
if (cell == nil) {
[[NSBundle mainBundle] loadNibNamed:@"CurrencyTableViewCell" owner:self options:nil];
cell = tableViewCell;
cell.accessoryType = UITableViewCellAccessoryNone;
self.tableViewCell = nil;
}
NSLog(@"%i",indexPath.row);
actualRate.text = [NSString stringWithFormat:@"%@",[myRates objectAtIndex:indexPath.row]];
currencyCode.text = [NSString stringWithFormat:@"(%i) %@",indexPath.row,[myCurrencies objectAtIndex:indexPath.row]];
countryFlag.image = [UIImage imageNamed:[NSString stringWithFormat:@"%@.gif",[myCurrencies objectAtIndex:indexPath.row]]];
return cell;
}
然而,当我只设置标准单元格的文本标签时,一切都很好,我显示了34个表格行,数字为0 - 33:
cell.textLabel.text = [NSString stringWithFormat:@"%i",indexPath.row];
有什么想法吗?
答案 0 :(得分:0)
你的手机初始化错误
首先在Interface Builder中使用标记命名所有标签和图像视图 例如actualRate - 标签101 currencyCode标签102 countryFlag tag 103
然后
- (UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *myIdentifier = @"CurrencyDisplayCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:myIdentifier];
if (cell == nil) {
cell = [[[NSBundle mainBundle] loadNibNamed:@"CurrencyTableViewCell" owner:self options:nil] lastObject];
}
NSLog(@"%i",indexPath.row);
[((UILabel *)[cell viewWithTag:101]) setText:[NSString stringWithFormat:@"%@",[myRates objectAtIndex:indexPath.row]]];
[((UILabel *)[cell viewWithTag:102]) setText:[NSString stringWithFormat:@"(%i) %@",indexPath.row,[myCurrencies objectAtIndex:indexPath.row]]];
[((UIImageView *)[cell viewWithTag:103]) setImage:[UIImage imageNamed:[NSString stringWithFormat:@"%@.gif",[myCurrencies objectAtIndex:indexPath.row]]]];
return cell;
}