tableView: didSelectRowAtIndexPath: сообщение отправлено освобожденному экземпляру - PullRequest
0 голосов
/ 21 марта 2012

Получение ошибки с табличным представлением didSelectRowAtIndexPath: сообщение, отправленное на освобожденный экземпляр . С локальным веб-сервисом все работает хорошо. Но он не работает с живым веб-сервисом.

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

    TreasureModel *data=[[TreasureModel alloc]init];
    data=[self.treasureData objectAtIndex:indexPath.row];
    treasureID=[NSString stringWithFormat:data.Id];
}

TreasureModel содержит два поля: Id и name.

TreasureData содержит объект TreasureModel.

1 Ответ

0 голосов
/ 23 марта 2012

Я публикую это в ответ вместо комментария для удобства чтения.

Похоже, что единственная цель didSelectRowAtIndexPath: - сохранить data.Id в treasureID.И похоже, что treasureID является iVar типа NSString *.

Вы не говорите, что это за тип TreasureModel.Id, поэтому здесь есть варианты для NSString и NSInteger.

Если TreasureModel.Id равно NSString *, вы можете использовать:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

    TreasureModel *data=(TreasureModel *)[self.treasureData objectAtIndex:indexPath.row];
    treasureID=[NSString stringWithString: data.Id];
}

Если это NSInteger, попробуйте:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

    TreasureModel *data=(TreasureModel *)[self.treasureData objectAtIndex:indexPath.row];
    treasureID=[NSString stringWithFormat: @"%d",data.Id];
}

Если это не такмы не должны искать проблему в коде.

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