SubView中的TabBarController

时间:2011-05-15 17:24:23

标签: iphone cocoa-touch ios interface-builder uitabbarcontroller

在我的MainWindow.xib中,我有以下结构:

-Files Owner
-First Responder
-MyApp App Delegate
-Window
-Tab Bar Controller
--Tab Bar
--Selected Recipes Nav Controller (recipes) - The class is set to a subclass of UINavigationController
--Other tabs…

我有编辑的详细信息视图,其中包含可以编辑的每个部分的选项卡,因此结构如下所示:

-Files Owner
-First Responder
-Tab Bar Controller
--Tab Bar
--Selected View Controller (recipes) - The class is set to a subclass of UINavigationController
---Scroll View
----UITextField (txtName)
----UITextField (txtDescription)
--Other tabs…

当用户点击主导航控制器上的添加工具栏按钮时,我想将这个新视图推送到堆栈,但我得到一个例外:

  

* 由于未捕获的异常'NSUnknownKeyException'而终止应用,   原因:'[setValue:forUndefinedKey:]:   这个类不是关键值   符合编码的密钥txtName。'

我相信这可能是因为有两个标签控制器。我已经尝试了以下内容来显示新的详细信息视图,但所有都抛出相同的异常:

MyAppAppDelegate *delegate = [[UIApplication sharedApplication] delegate];
//[delegate.recipesNavController pushViewController:recipeDetailViewController animated:YES]; //- fails 
//[delegate.rootController presentModalViewController:recipeDetailViewController animated:YES]; //- fails
[self presentModalViewController:recipeDetailViewController animated:YES]; //- also fails

编辑:我现在不太确定,因为用UISegmentedControl替换它会导致类似的错误:

  

这个类不是关键值   符合编码的密钥   generalScroller'。

3 个答案:

答案 0 :(得分:0)

你应该看一下this,它似乎也有帮助here

答案 1 :(得分:0)

iOS错误消息通常非常重要:它说的是什么类不符合KV?在某个地方,您正在使用txName和/或generalScroller设置KVO,而某些东西要么没有监听,要么正在侦听拼写错误的密钥名称。

答案 2 :(得分:0)

问题是我正在声明视图控制器不正确。我正在使用:

RecipeDetailViewController *dvController = [[RecipeDetailViewController alloc] initWithNibName:@"RecipeDetailEditView" bundle:nil];

当我需要时:

RecipeDetailEditViewController *dvController = [[RecipeDetailEditViewController alloc] initWithNibName:@"RecipeDetailEditView" bundle:nil];