Для разрабатываемого приложения для iPhone мне нужно назначить пользовательские изображения uitableviewcell на основе целых чисел произвольных элементов в массиве. Во время некоторого тестирования я заметил, что indexPath строки возвращает только индексы для показанного представления, поэтому в основном мне нужно знать, как взять массив произвольного размера, скажем, сейчас у него есть 10 элементов, и эти 10 элементов находятся в таблица, каждый элемент ячейка, мне нужно, чтобы каждый элемент имел индекс, например, элемент 1 является индексом 0, элемент 2 является индексом 1 и так далее. Так что мой код будет читать, если индекс == 0, затем отображать это изображение в ячейке, если индекс! = 0, а затем отображать другое. Я попробовал это, но, как я уже сказал, если прокручивать до конца моего табличного представления, это переназначит любой элемент таблицы в верхней части представления на 0, так что я прокручивал изображения, которые продолжали изменяться. Поэтому в основном мне нужна помощь в назначении изображений на основе индекса в моем массиве, а не индекса таблицы.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *MyIdentifier = @"MyIdentifier";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:MyIdentifier] autorelease];
}
cell.detailTextLabel.lineBreakMode = UILineBreakModeWordWrap;
cell.detailTextLabel.numberOfLines = 1;
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
NSString *title =[[stories objectAtIndex: indexPath.row] objectForKey: @"summary"];
NSString *title2 =[[stories objectAtIndex: indexPath.row] objectForKey: @"title"];
NSString *dayOfMonthString = [title substringWithRange: NSMakeRange(2, 2)];
int dateChooser = [dayOfMonthString intValue];
NSString *monthString = [title substringWithRange: NSMakeRange(0, 2)];
int monthChooser = [monthString intValue];
cell.textLabel.text =title2;
cell.imageView.image =
[UIImage imageNamed: [NSString stringWithFormat: @"cal%d.png", dateChooser]];
if (monthChooser == 1 && (INDEX COMPARISON CODE???){
UIImageView *myImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Jan1.png"]];
[cell setBackgroundView:myImageView];
}