ответьте на мой старый вопрос о контроллере навигации! - PullRequest
0 голосов
/ 07 января 2010

я задал вопрос здесь: Лучшая идея для импорта текста в каждое представление NavigationController

ответ был таким:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    PoemDetailsViewController *poemDetails = [[[PoemDetailsViewController alloc] initWithNibName:@"PoemDetailsViewController" bundle:nil] autorelease];
    poemDetails.poem = [poems objectAtIndex:indexPath.row]; // assuming you have a single dimension array with poems and a single table group
    [self.navigationController pushViewController:poemDetails animated:YES];
}

Теперь на PoemDetailsViewController я создаю UIWebView и пишу этот код:

(я знаю, что этот код показывает только один из моих файлов HTML)

NSString *path = [[NSBundle mainBundle] pathForResource:@"fal1" ofType:@"html"];
NSFileHandle *readHandle = [NSFileHandle fileHandleForReadingAtPath:path];

NSString *htmlString = [[NSString alloc] initWithData: 
                            [readHandle readDataToEndOfFile] encoding:NSUTF8StringEncoding];

Теперь я не могу найти связь между этим кодом

poemDetails.poem = [poems objectAtIndex:indexPath.row];

загружать стихи на AnotherViewController с каждой ячейкой?

Я имею в виду, что каждая ячейка показывает свое стихотворение на другом экране с помощью Navigation Controller.

1 Ответ

1 голос
/ 07 января 2010

Строка, о которой идет речь:

poemDetails.poem = [poems objectAtIndex:indexPath.row];

просто передает информацию о строке (стихотворении), которая была выбрана новому контроллеру представления.

Как правило, «стихотворение» представляет собой пользовательский класс с соответствующей информацией о стихотворении, такой как его заголовок и имя его HTML-файла, но это может быть просто строка (если заголовок и имя файла HTML соответствуют).

Например, вы бы использовали это здесь:

NSString *path = [[NSBundle mainBundle] pathForResource:poem.filename ofType:@"html"];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...