5

Swift で行われた iOS の大きな基本プロジェクトがあります。今、新しいターゲットを作成して、別のクライアント バージョンを作成しようとしていました。

  • BaseProject (名前を変更しない限り、問題なく動作します)
  • Client1 (起動画面後の NSUnknownKeyException)。

基本プロジェクトは問題なく実行されます。しかし、新しいターゲットに切り替えると、次の NSUnknownKeyException が発生します。

Terminating app due to uncaught exception 'NSUnknownKeyException', 
reason: '[<UIViewController 0x135e57c40> setValue:forUndefinedKey:]: 
this class is not key value coding-compliant for the key textConfirmPassword.'

「textConfirmPassword」は、私の main.storyboard からのテキスト フィールドの参照です。

  • 私は参照アウトレットをチェックしましたが、それは問題ではないようです。
  • テキスト フィールドのターゲット メンバーシップを確認しました。
  • アウトレットのリファレンスを再作成しました。
  • コードがコンパイルされるように、参照を削除し、ストーリーボードに表示されないハードコードされたテキスト フィールドを作成しました。例外は別のテキスト フィールド (textEmail) に送信されました。

これらすべてを行う前に、画像と参照ラベルを使用してサンプル プロジェクトを作成しました。バージョン管理はうまくいきました。

4

3 に答える 3

4

私は何が間違っているかを見つけました。理解するのにとても時間がかかったとは信じられないほど、本当に単純なことです。最初のView Controllerには、モジュールが選択されていました(モジュールがないと想定されていた場合)。そのため、別のターゲットを実行するたびに、ビューの要素が見つかりませんでした。

于 2016-05-27T14:16:42.280 に答える
3

ストーリーボードのいくつかのView Controller- > Identity Inspector-> Inherit Module From Targetが選択されていなかったため、新しく作成されたターゲットでエラーが発生したため、最終的に問題を発見しました。

ここに画像の説明を入力

View Controllerの「Inherit Module From Target」にチェックを入れる

于 2020-03-22T16:23:05.627 に答える