0

我在细节视图方面遇到了重大问题,并希望有人能指出我正确的方向。

我想将详细视图添加到像 apples advancedtableviewcells 这样的应用程序中。因此,一旦您单击一个单元格,它就会带您进入详细视图。

唯一要注意的是,它还必须将单元格中的数据加载到详细视图中。

我已经查看了一些网站和一些在线示例,我可以看到它是如何使用简单表格完成的,但是当涉及到单个单元格和 .plist 中的数据时。我迷路了。

请任何帮助都会很棒。谢谢

4

2 回答 2

1

添加细节控制器并不难实现。在您的根视图中-我猜-您从上面提到的 plist 文件中收集所有数据,并按照您自己的标准对数据进行排序。为什么不在根视图控制器中创建一个 NSArray ,其中包含每个单元格的 NSDictionary 。在该字典中,您可以输入该对象的所有信息,例如标题、价格或其他内容。在您的详细控制器中,只需添加一个 NSDictionary 属性。如果您选择一个单元格,didSelectRowAtIndexPath则调用该方法。在此方法中,您将详细视图控制器中的 NSDictionary 属性设置为索引处根视图控制器的 NSArray 中的对象indexPath.row

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    DetailViewController *myDetailController = [[DetailViewController alloc] initWithNibName:@"NibBame" bundle:nil];
    myDetailController.detailDict = [rootViewArray objectAtIndex:indexPath.row];
    [self.navigationController pushViewController:myDetailController animated:YES];
    [myDetailController release];
}

之后,特定单元格的所有数据现在都可以在详细视图控制器中使用,您可以利用 NSDictionary 的优势,只需通过一个简单的键即可获取变量。例如:

- (void)viewDidLoad {
    self.title = [myDictionary valueForKey:@"specificKey"];
}
于 2010-02-25T14:33:25.287 回答
0

表格单元格需要从 UITableViewCell 子类化。您不必设置视图控制器的标题三次或更多次,它总是被覆盖。您应该在 cellForRowAtIndex 方法中设置自定义单元格并设置单元格的属性。

于 2010-03-01T06:23:47.377 回答