Я пытаюсь использовать PList для заполнения контроллера представления, который выдвигается из контроллера представления, который выдвигается из представления таблицы. Проще говоря:
TableViewController -> DetailViewController -> 2ndDetailViewController (<- это тот, который я заполняю) </p>
Я пытаюсь сделать это, установив целочисленное значение, когда пользователь нажимает на строку в табличном представлении. Затем я буду использовать значение этого целого числа, чтобы указать на правильное значение в PList и вытащить соответствующую строку. Во втором View Controller я пытаюсь заполнить UIImageView изображением из PList. Вот код моего didSelectRowAtIndexPath:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
DealsDetailViewController *dealsDetail = [[DealsDetailViewController alloc]initWithNibName:@"DealsDetailViewController" bundle:nil];
dealsDetail.dealsImageString = [[self.dealsArray objectAtIndex:indexPath.row] objectForKey:@"Image"];
dealsDetail.dealsLabelString = [[self.dealsArray objectAtIndex:indexPath.row] objectForKey:@"Description"];
dealsDetail.title = [[self.dealsArray objectAtIndex:indexPath.row] objectForKey:@"Name"];
if ([[dealsArray objectAtIndex:indexPath.row] isEqual:@"Deal #1"]) {
dealsDetail.dealsInt = 0;
[dealsDetail setTitle:[dealsArray objectAtIndex:indexPath.row]];
}
if ([[dealsArray objectAtIndex:indexPath.row] isEqual:@"Deal #2"]) {
dealsDetail.dealsInt = 1;
[dealsDetail setTitle:[dealsArray objectAtIndex:indexPath.row]];
}
if ([[dealsArray objectAtIndex:indexPath.row] isEqual:@"Deal #3"]) {
dealsDetail.dealsInt = 2;
[dealsDetail setTitle:[dealsArray objectAtIndex:indexPath.row]];
}
[self.navigationController pushViewController:dealsDetail animated:YES];
[dealsDetail release];
Все заполняется правильно. Я попытался NSLog значение dealDetail.dealsInt как в контроллере табличного представления (при нажатии кнопки), так и в методе viewDidLoad DealsDetailViewController. Оба раза он возвращает значение «0» независимо от того, какую строку я щелкаю. Где я ошибся в своем синтаксисе?
EDIT --------
Вот что я получаю, когда выхожу из системы:
NSLog(@"%@",[dealsArray objectAtIndex:indexPath.row]);
2011-11-28 17:40:59.092 Stores Tab Bar[7386:207] {
Barcode = "SampleBarCode3.png";
Description = "Here's the deal 3";
Image = "FritoTest.png";
Name = "Deal #3";
Thumbnail = "dollars.png";
}
Он записывает содержимое PList объекта, который был правильно нажат. Таким образом, он получает правильную информацию (которая, как я предполагал, была, поскольку она правильно заполняла табличное представление и подробное представление ...)