cellForRowAtIndexPath (необходимо использовать одну строку и одно целочисленное значение в indexpath) - PullRequest
0 голосов
/ 01 апреля 2011

Дорогие все Я пытаюсь отобразить два разных массива в одном tableView. Я объявил массив "лет" в виде строк, а массив "количество" в виде целых чисел. количество лет например: 2012, 2013 .... 155888, 151768 Когда я собираю приложение, запускаю приложение, как показано ниже: (похоже, что число уменьшается на 16)

 Remaining Amount On  

2012: 80912864
2013: 79047056
2014: 79046640
2015: 79046640
2016: 79051632
...
2020: 80928544

Массив "year" работает как строка, а массив integer, который имеет значение "total", - нет. Я вполне уверен, что я делаю неправильно в строке cell.text = с форматированием целых чисел. Я был бы очень рад, если бы вы могли помочь решить эту проблему Заранее спасибо

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

static NSString *CellIdentifier = @"remainingAmountOn";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];
}

NSUInteger row = [indexPath row];
**cell.text =** [NSString stringWithFormat:@"%@   %d", [years objectAtIndex:row],

[NSNumber numberWithInt: [сумма объектаAtIndex: строка]]];

return cell;
* *} Тысяча двадцать-один

1 Ответ

1 голос
/ 01 апреля 2011
[NSNUmber numberWithInt:someInt]

возвращает объект NSNumber и должен быть отформатирован с помощью% @.

В качестве альтернативы, пропустите бит NSNumber и просто используйте int с% d.

В данный момент вы смешиваете два.

...