Я программирую простое экономическое приложение для нашей компании, но у меня есть некоторые проблемы. Я заселить UITableView с информацией из динамически создаваемых объектов, как это:Очистить таблицуView on reloadData не работает?
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];
}
Payments *project = [appDelegate.projects objectAtIndex:indexPath.row];
if([project.parentProject isEqualToString:bottomTabBar.selectedItem.title]) {
NSLog(@"%@ är lika med %@ index: %d",project.parentProject, bottomTabBar.selectedItem.title, indexPath.row);
// Configure the cell...
NSMutableString *changeInValue = [[NSMutableString alloc] initWithFormat:@"%d",[[project.amountsek objectAtIndex:0] intValue]-[[project.amountsek objectAtIndex:1] intValue]];
if([changeInValue intValue] >= 0) {
[changeInValue insertString:@"+" atIndex:0];
cell.imageView.image = [UIImage imageNamed:@"up.png"];
} else {
cell.imageView.image = [UIImage imageNamed:@"down.png"];
}
NSMutableString *foreignCurrency = [[NSMutableString alloc] initWithString:@""];
if(![project.currency isEqualToString:@"SEK"]) {
[foreignCurrency appendFormat:@" - %@%d",project.currency,[[project.payments objectAtIndex:0] intValue]];
}
NSString *detailString = [[NSString alloc] initWithFormat:@"%@%d (%@)%@",@"SEK",[[project.amountsek objectAtIndex:0] intValue],changeInValue, foreignCurrency];
[changeInValue release];
[foreignCurrency release];
cell.textLabel.text = project.name;
cell.detailTextLabel.text = detailString;
[detailString release];
}
project = nil;
return cell;}
И все работает как шарм! Однако! Когда я нажимаю другой tabButton, я хочу, чтобы он перезагрузил таблицу и отобразил только согласованные элементы! (Соответствие работает нормально, журнал распечатывает все правильно). Хотя старые ячейки таблицы не пустуют до добавления новых.
Вот код для перегрузочной TabItem:
- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item {
NSLog(@"Tab clicked: %d", item.tag);
[sourcesTable reloadData];
}
Как решить эту проблему? Я новичок в программировании для iPhone, и я действительно мог бы использовать некоторую помощь.
Никто? :(действительно? – Hjalmar 2010-12-17 12:03:07