我是目标 C 和 XCode 4.2 的 iphone 开发新手。现在我成功地实例化了一个 UITableViewController,它可以遍历一个多级 json 数据树。但是,我在为叶页建立 UI 时遇到了麻烦。到目前为止,让我向您展示一段代码:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[tableView deselectRowAtIndexPath:indexPath animated:YES];
int row = [indexPath row];
NSString * currentrow = [NSString stringWithFormat:@"%d.",row];
NSDictionary * item = [dataArray objectForKey:currentrow];
NSDictionary * children = [item objectForKey:@"children"];
if(children != nil)
{
uinavTableViewController *childView = [[uinavTableViewController alloc] init];
childView.dataArray = children;
[self.navigationController pushViewController:childView animated:YES];
}
else
{
uinavMenuItem * childView = [[uinavMenuItem alloc] init];
//uinavSecondViewController * childView = [[uinavSecondViewController alloc] init];
[self.navigationController pushViewController:childView animated:YES];
}
}
所以 if 语句的第一部分将检查是否有子节点,如果有则创建另一个 uinavTableViewController。这部分工作完美。
else 语句使用 uinavMenuItem 创建一个叶页。当我在模拟器中运行它时,叶子页面只是一个黑屏。我查看了我的 NSLog,可以确认 uinavMenuItem viewDidLoad 确实被解雇了。所以控制器代码工作正常,但我只是不知道如何链接到我在情节提要中绘制的视图。
我做错了什么导致 uinavMenuItem 无法显示我在 storyboardD 中绘制的内容?