Получение данных из tableviewcell в 2nd view - PullRequest
0 голосов
/ 10 апреля 2010

Я очень новичок в этом и пытаюсь учиться, создав несколько небольших приложений для себя. У меня есть приложение на основе навигации, в котором пользователь нажимает на строку, чтобы выбрать заголовок фильма. Затем я хочу, чтобы на втором экране отображались подробности фильма.

Благодаря очень полезному человеку, я получаю результаты строки, помеченные как 'rowTitle', следующим образом:

(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSString *key = [keys objectAtIndex:indexPath.section];
NSArray *nameSection = [names objectForKey:key];
NSString *rowTitle = [nameSection objectAtIndex:indexPath.row];
NSLog(@"rowTitle = %@", rowTitle);
[tableView deselectRowAtIndexPath:indexPath animated:YES];

Я, однако, изо всех сил пытаюсь сделать данные в rowTitle доступными для второго представления -

В принципе, если я могу получить информацию - например, rowTitle - "aliens2" - я хочу иметь возможность добавить новое расширение в конец строки, возвращаемой rowTitle, чтобы указать на изображение (если это имеет смысл) во втором представлении ...

Что-то вроде

tempImageName=[** this is where the info from rowTitle needs to be I suppose**]; tempImageType=@".png"; finalImageName=[tempImageName stringByAppendingString:tempImageType];

Имеет ли это смысл для кого-либо (извинения, если нет - я знаю, чего хочу, но как объяснить это немного неловко!)

1 Ответ

0 голосов
/ 10 апреля 2010

Вы должны использовать stringByAppendingPathExtension, чтобы добавить расширение png, если вам действительно нужно это сделать. Но это зависит от того, что вы собираетесь с этим делать; вам может не потребоваться полное имя файла только для файла, например - pathForResource: ofType: может принимать расширение в качестве аргумента типа (но imageNamed: нравится полное имя файла).

Вы должны добавить свойство в вашем втором контроллере представления для имени изображения, затем создать и нажать / представить контроллер представления в вашем методе выбора.

MyViewController *vc = [[MyViewController alloc] init];
vc.imageName = tempImageName;
[self.navigationController pushViewController:vc animated:YES];
[vc release];
...