简单细节查看帮助?

时间:2010-02-25 01:02:12

标签: uitableview plist detailsview

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

我想为app advancetableviewcells这样的应用添加详细信息视图。因此,一旦您单击一个单元格,它就会引导您进入详细视图。

只有catch,它必须将数据从单元格加载到详细视图中。

我已经在网上看了很多网站和分配示例,我可以看到它是如何用简单的表格完成的,但是当涉及单个单元格和.plist中的数据时。我输了。

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

2 个答案:

答案 0 :(得分:1)

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

中根视图控制器的NSArray中的对象
- (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"];
}

答案 1 :(得分:0)

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