Я пытаюсь прочитать ссылку на файл изображения из списка и сделать изображение отображаемым в подробном представлении. хотя я могу сделать это для моего макета представления таблицы, у меня возникают проблемы с этим с моим DetailViewController
nib-файлом. Я надеюсь, что кто-то может помочь мне решить проблему и объяснить, где я иду не так. То, что следует за кодом, является моим объяснением того, что я ДУМАЮ, что я делаю. Если бы вы могли объяснить мне, что я делаю неправильно, и показать, что я должен делать, я был бы очень признателен. Я пытаюсь научиться так же сильно, как пытаться заставить вещи работать.
Я думаю, что проблема в двух местах. Первый мой didSelectRowAtIndexPath
метод:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
//Get the dictionary of the selected data source.
NSDictionary *dictionary = [[[self.localSites objectAtIndex:indexPath.section]objectForKey:@"rowData"] objectAtIndex:indexPath.row];
TableDetailViewController *controller = [[TableDetailViewController alloc] initWithNibName:@"TableDetailViewController" bundle:[NSBundle mainBundle]];
controller.title = [dictionary objectForKey:@"Location"];
controller.dText = [dictionary objectForKey:@"details"];
// THIS IS WHERE THE PROBLEM IS
NSString *tiny = [dictionary objectForKey:@"thumb"];
controller.mainImage = [UIImage imageNamed:tiny];
[self.navigationController pushViewController:controller animated:YES];
[controller release];
}
В приведенном выше коде, помеченном //THIS IS WHERE I THINK THE PROBLEM IS
, я пытаюсь получить ссылку на изображение, содержащееся в строке в plist, и использовать ссылку для получения изображения. Этот подход прекрасно работает в моем методе cellForRowAtIndexPath, где я использую его для заполнения левой части таблицы миниатюрными изображениями, на которые ссылается мой список.
В приведенном выше коде mainImage
относится к строке, которую я пытался подключить к выходу UIImageView
в моем TableDetailViewController.xib
через мой файл TableDetailViewController.m
, как показано ниже. Здесь я думаю, что проблема номер два:
- (void)viewWillAppear:(BOOL)animated
{
[super viewDidLoad];
//This Bit says that the text contained in UITextView blurb is the string dText, which is used in my didSelectRowAtIndex method
blurb.text = dText;
//This is where I try to do the same thing by saying that UIImageView topImage is the NSString mainImage which I use in my didSelectRowAtIndex method
topImage.image = mainImage;
}
Моя логика заключалась в том, что topImage - это UIImageView, а mainImage - строка, содержащая представление изображения, которое в моем методе didSelectRowAtIndex я передаю значение ключа «thumb», содержащегося в моем файле plist.
Однако вышесказанное выдает предупреждения. Кто-нибудь может помочь?
Спасибо, что нашли время, чтобы прочитать.