iphone: UITABLEView сбой приложения - PullRequest
0 голосов
/ 03 мая 2011

не знаю, что не так с моим табличным представлением, у меня есть словарь (этот словарь создается с помощью операции sqlite), и я пытаюсь создать ячейки, подобные этой

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

static NSString *MyIdentifier = @"MyIdentifier";
MyIdentifier = @"tblCellView";

CustomCell *cell = (CustomCell *)[tableView dequeueReusableCellWithIdentifier:MyIdentifier];
if(cell == nil) {
    [[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:self options:nil];
    cell = aCustomCell;
    aCustomCell=nil;
}

NSMutableDictionary *tempDictionary=[[NSMutableDictionary alloc] init];

tempDictionary=[offendersNamesList objectForKey:[NSString stringWithFormat:@"key%d", indexPath.row+1]];

[[cell offendersImageView] setImage:[UIImage imageNamed:@"contact.png"]];
[cell.offendersNameLbl setText:[tempDictionary objectForKey:@"name"]];
[cell.offendersViolation setText:[tempDictionary objectForKey:@"offence"]];
[tempDictionary release];

//[cell setLabelText:[arryData objectAtIndex:indexPath.row]];
return cell;

}

все элементы отображаются правильно, но когда я прокручиваю табличное представление вверх, происходит сбой приложения, вы можете мне помочь в этом?

1 Ответ

2 голосов
/ 03 мая 2011

Сначала вы выделяете новый NSMutableDictionary и сохраняете его в tempDictionary. Однако в следующей строке вы перезаписываете эту переменную указателем на новый объект (tempDictionary=[offendersNamesList objectForKey:[NSString stringWithFormat:@"key%d", indexPath.row+1]];). Итак, у вас есть утечка памяти, [[NSMutableDictionary alloc] init] не требуется, удалите ее.

Теперь, в соответствии с соглашениями об именах, объект, который вы получили от offendersNamesList, автоматически высвобождается, но позже вы вызываете [tempDictionary release]; и, таким образом, перезагружаете его. Удалите это также.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...