回答我关于导航控制器的旧问题!

时间:2010-01-06 22:18:32

标签: iphone uinavigationcontroller

我曾在这里提问:Best idea for importing text to each NavigationController View

答案是:

- (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上加载诗歌吗?

我的意思是每个单元格都使用导航控制器在另一个视图上显示他们的诗。

1 个答案:

答案 0 :(得分:1)

有问题的一行:

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

只是将有关所选行(诗)的信息传递给新视图控制器。

通常,“诗”将是一个自定义类,其中包含有关诗的相关信息,例如其标题和HTML文件的名称,但它可能只是一个字符串(如果标题和HTML文件名匹配)。

例如,您可以在此处使用它:

NSString *path = [[NSBundle mainBundle] pathForResource:poem.filename ofType:@"html"];