28

コマンドボタンのイベントを「アクション」ではなく「アウトレット」に設定してしまいました。自動ドラッグ機能により、xcode は applicationDelegate と .h および .m ファイルで参照を生成しました。.h および .m ファイルからエントリを削除しましたが、不足している参照をまだ探しているため、シミュレータは実行されません。どこにも言及されていないアウトレットが見つかりませんでした。私はiOSプログラミングにかなり慣れていません。誰でもこれに対する解決策を提案できますか?

4

3 に答える 3

41

インターフェイスビルダーでアイテムからアウトレットのリンクを解除する必要があります。アウトレットをリンクした UI 要素を選択し、[接続インスペクター] で削除します。

ここに画像の説明を入力

小さな「x」をクリックしてください^^^^

于 2012-09-08T04:34:50.453 に答える
30

不要な Outlet 参照を取り除く方法を知りたくてここに来る人には、2 つの異なる理由があると思います。

  1. Interface Builder の使用中に不要なアウトレットが作成されました。
  2. 別のプロジェクトのビュー コントローラーからいくつかのアウトレット コードをコピーしました。

どちらの理由も、解決するのはかなり簡単です。

IB の不要なコンセント

方法 1

ストーリーボードでビューを右クリックし、参照アウトレットのそばにある小さな x をクリックします。

ここに画像の説明を入力

方法 2

ドキュメント アウトラインでビュー名を右クリックします。次に、参照アウトレットのそばにある小さな x をクリックします。

ここに画像の説明を入力

方法 3

ストーリーボードでビューを選択し、[接続インスペクター] をクリックします。次に、小さな x をクリックしてアウトレット参照を削除できます。

ここに画像の説明を入力

コード内の不要な参照

ビュー コントローラーのコードをあるプロジェクトから別のプロジェクトにコピーすると、アウトレットで奇妙なことが起こることに気付くでしょう。アウトレットを接続することなく、最初のプロジェクトからのビューを参照しています!

ここに画像の説明を入力

小さな円を左クリックして参照リンクをクリックすると、他のプロジェクトのストーリーボード ビューに移動することさえできます。この参照を取り除く方法を理解しようとすると、気が狂ってしまう可能性があります。

幸いなことに、修正する必要はまったくありません。深くて見つけにくい参照リンクをコピーしませんでした。View Controller とアウトレット名が両方のプロジェクトで同じであるため、Xcode は混乱しています。基本的に、その小さな円の言うことは無視してください。最初のプロジェクトを閉じると、Xcode が最終的に問題を解決します。この回答のパート 1 のメソッドを使用して、現在のプロジェクトのビューに参照アウトレットがあるかどうかを確認してください。

派生データを削除する必要はありません。とにかく問題は解決しません。両方のプロジェクトをもう一度同時に開いてみると、同じ奇妙な動作が発生します。私がこれを理解した方法は、同じ名前のビュー コントローラーと同じ名前の参照アウトレットを持つ 2 つの新しいプロジェクトを別々に作成することでした。私は何もコピーしませんでしたが、Xcode は一方が他方を参照していることを示しました。私が言ったように、それを無視してください。

于 2016-05-19T13:26:03.407 に答える
4

コマンド ボタン アウトレットのストーリーボード/xib にも表示されます。

そこからも削除してください。

于 2012-09-08T04:35:00.997 に答える