Как отобразить детали индекса массива в новом представлении? - PullRequest
0 голосов
/ 15 февраля 2012

У меня есть табличное представление, которое заполняется из массива, извлеченного из URL. Я устанавливаю заголовок каждой строки несколькими символами из строкового объекта массива, и при нажатии на ячейку открывается новое представление. В этом новом виде у меня есть UILabel. На данный момент я хочу установить заголовок этой этикетки с полной строкой этого индекса.

Вот мой код:

 NSDictionary *object=[[NSUserDefaults standardUserDefaults]objectForKey:@"savedMessage"];
    NSArray *array= [object valueForKey:@"message"];


    cell.textLabel.text= [array objectAtIndex:indexPath.row];

и с помощью следующего кода я открываю новый вид:

 messageDetail *detailViewController = [[messageDetail alloc] initWithNibName:@"messageDetail" bundle:nil];
    [self.navigationController pushViewController:detailViewController animated:YES];
     detailViewController.title=@"Message Detail";

    [detailViewController release];

Что мне нужно, так это как отобразить любой результат (деталь) массива в своем собственном индексе? (например, когда я щелкнул 5. строку, я хочу, чтобы метка моего detailViewController была установлена ​​как 5. объект массива)

1 Ответ

2 голосов
/ 15 февраля 2012

Вы создаете функцию в messageDetail.m, которая называется так:

- (void)updateLabelWith:(NSString *)labelString{
    label.text = labelString;}

И затем вы вызываете ее в didSelectRowAtIndexPath в tableViewController

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
    NSString *labelString = [data objectAtIndex:indexPath.row]; // data is an NSArray of Strings
    [detailViewController updateLabelWith:labelString];
    [self.navigationController pushViewController:detailViewController animated:YES];}
...