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

あなたのソトリボードと関係があるかもしれません、多分これは何か違うことをするでしょう。別の方法でビューを初期化します。

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

アプリのビルド後、ストーリーボードが にコピーされMyApp.app/MyStoryboard.storyboardcます。次に、ストーリーボードをローカライズした場合、それらは にコピーされMyApp.app/(localization.lproj)/MyStoryboard.storyboardcます。しかし、iOS シミュレーター アプリのフォルダーの元のストーリーボード (ローカリゼーション後に追加した場合は、一部のビュー コントローラーがなくても古い可能性があります) にまだ存在しMyApp.app/MyStoryboard.storyboardcます。実行後、アプリはinstantiateViewControllerWithIdentifierfrom を試みますMyApp.app/MyStoryboard.storyboardc。これは、iOS シミュレーター フォルダーに移動し、アプリのパッケージを探索することで確認できます。

だから、それがクラッシュする理由です。

于 2014-06-11T08:29:12.760 に答える
1

新しいプロジェクトで再作成することで解決しました。おそらくXcodeの問題です。

于 2012-07-26T07:55:24.497 に答える
0

私も同様の問題を抱えていました。

直感で、実際のビューの下にあるバーのストーリーボード ウィンドウで、ストーリーボードがコントローラーを認識しているものを確認しました。ストーリーボードにスペースが追加された「MyViewController」は「My View Controller」になりました-とにかく、ストーリーボードIDとinstantiateViewControllerWithIdentityにスペースを追加した後-それは機能しました。

于 2013-10-21T01:51:29.483 に答える
0

複数の言語がある場合は、すべてのローカライズされたファイルのすべてのストーリー ボードで、ストーリー ボード ID を設定する必要があります。ストーリー ボードを選択して (ローカライズされていない) ID を設定すると、最初のローカライズされたファイルのみが変更されることがわかりました。

于 2012-11-06T15:51:44.190 に答える