我正在尝试将另一个UITableViewController
的{{1}}子类添加到当前on作为标签栏视图控制器之一。
我正在使用以下代码,该代码适用于其他视图控制器。
storyboard
这给了我以下错误:
* 由于未捕获的异常而终止应用 ' NSUnknownKeyException',原因:' [ setValue:forUndefinedKey:]:此类不是键值 符合编码标准的关键fitnessStatusView。'
fitnessStatusView是其中一个静态单元的子视图的出口。
如果我删除了与该子视图的插座连接,则问题就会消失。
是否无法以这种方式连接视图?它在用于创建它的UIViewController *vc;
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
if (storyboard)
{
vc = [storyboard instantiateViewControllerWithIdentifier:@"ABCCustomViewControllerStoaryboardID"];
}
中使用时可以正常工作。
有关我在这里做错的建议吗?感谢。
答案 0 :(得分:0)
试试这段代码:
UIStoryboard *loStoryboard ;
loStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
此代码用于从AppDelegate Class导航..
// Instantiate the initial view controller object from the storyboard
UIViewController *initialViewController = [loStoryboard instantiateInitialViewController];
// Instantiate a UIWindow object and initialize it with the screen size of the iOS device
self.view = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Set the initial view controller to be the root view controller of the window object
[self.navigationController pushViewController:initialViewController animated:YES];
此代码可从Tabbar Controller导航..
UIViewController *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"ABCCustomViewControllerStoaryboardID"];
[self.navigationController pushViewController:vc animated:YES];
答案 1 :(得分:0)
不,您不应该将视图控制器中的插座连接到UITableViewCell子视图。是的,我知道storboard允许它,但它在运行时不会像你(我)已经发现的那样工作。
我不知道为什么你需要一个静态单元子视图的出口,因为根据定义,你不应该修改它,因为它是静态的。
如果你真的想要一个插座,你可以创建一个UITableViewCell子类,用你想要的子视图将它分配给单元格,然后你可以从故事板中的子视图创建插座到UITableViewCell子类。您可以访问tableView:cellForRowAtIndexPath
中的插座。虽然这会使您的表视图动态化。 :)
答案 2 :(得分:0)
我弄明白了这个问题。这与我测试另一个目标的事实有关,并且表视图子类未包含在该目标中。
我必须承认如果我找到一个没有找到错误的课程会很好。