2

我不断收到错误:

Storyboard () 不包含标识符为“myWebView”的视图控制器。

我正在使用 UITableView,当用户单击单元格时,它将推送另一个视图并加载 UIWebView。但我确信我在情节提要中正确设置了标识符,请查看代码:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    NSArray *arrInfo = [[tableData objectAtIndex:indexPath.row] componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@";"]];

    favWebView *nextView = [self.storyboard instantiateViewControllerWithIdentifier:@"myWebView"];

    nextView.title = [arrInfo objectAtIndex:1];
    nextView.url1 = [arrInfo objectAtIndex:6];
    [self.navigationController pushViewController:nextView animated:YES];
}

图片:

故事板

谁能告诉我如何解决这个问题?

4

7 回答 7

6

这里的解决方案是从模拟器或设备中删除应用程序。

于 2013-04-23T12:21:17.397 回答
1

构建应用程序后,故事板将被复制到MyApp.app/MyStoryboard.storyboardc. 然后,如果您本地化了情节提要,它们将被复制到MyApp.app/(localization.lproj)/MyStoryboard.storyboardc. 但是在 iOS Simulator 应用程序的文件夹中的原始故事板(可能是旧的,没有一些视图控制器,如果您在本地化后添加它)仍然存在于MyApp.app/MyStoryboard.storyboardc. 运行后,您的应用尝试instantiateViewControllerWithIdentifierMyApp.app/MyStoryboard.storyboardc. 可以通过导航到 iOS Simulator 文件夹并为您的应用程序探索包来检查它。

所以,这就是它崩溃的原因。

于 2014-06-11T08:29:12.760 回答
1

可能与您的 sotryboard 有关,也许这会做一些不同的事情。以不同的方式初始化视图。

  favWebView *favWebView = [[UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil] instantiateViewControllerWithIdentifier:@"favWebView"];
于 2012-07-25T16:24:52.553 回答
1

我通过在一个新项目中重新创建它来解决它。这可能是 Xcode 的问题。

于 2012-07-26T07:55:24.497 回答
0

您可能需要为视图控制器分配一个“故事板 ID”。这为我解决了。

于 2014-07-18T18:02:45.867 回答
0

如果您有多种语言,则应确保在所有本地化文件的所有故事板上设置故事板 ID。我发现当我选择故事板(但没有本地化)并设置 id 时,只会修改第一个本地化文件。

于 2012-11-06T15:51:44.190 回答
0

我遇到了类似的问题。

凭直觉,我检查了故事板认为控制器是什么 - 在实际视图下方栏上的故事板窗口中。Storyboard 添加了空格“MyViewController”变成了“My View Controller”——无论如何,在将空格添加到 Storyboard ID 和 instantiateViewControllerWithIdentity 之后——它起作用了。

于 2013-10-21T01:51:29.483 回答