web-dev-qa-db-ja.com

新しいアウトレット(コンセント)接続を挿入できませんでした。という名前のクラスに関する情報が見つかりませんでした

View Controllerに関する情報がないことを示すXcodeでエラーが発生しました。

新しいアウトレット(コンセント)接続を挿入できませんでした。という名前のクラスに関する情報が見つかりませんでした

なんでこんなことが起こっているの?

Screenshot 1

281

これを(難易度の高い順に)修正できるいくつかのことがあります:

  • プロジェクトをクリーンアップします( Product> Clean
  • 手動で貼り付ける

    @IBOutlet weak var viewName: UIView!
    // or
    @IBAction func viewTapped(_ sender: Any) { }
    

    ドラッグしてドラッグします。 (必要に応じてタイプを変更してください。) this も参照してください。

  • Xcodeを完全に閉じてプロジェクトを再起動してください。

  • [派生データ]フォルダを削除します( Xcode> [設定] > [場所] に移動し、[派生データ]フォルダの横にある灰色の矢印をクリックし、プロジェクトフォルダを削除します)。
  • クラスで[削除]をクリックし、参照を削除し([ゴミ箱に入れる]ではない)、もう一度追加します。 ( この答え を参照)
610
Suragch

あるいは上記のいずれでもうまくいかない場合は、最初に@IBOutlet weak var headerHeightConstraint: NSLayoutConstraint!というファイルにアウトレットの名前を入力してから、ペン先のアウトレットからプログラムで作成したばかりの変数までクリックアンドドラッグします。それは、クリーニング、構築、そして何も削除する面倒なことなしに動作するはずです。

132
Stephen Paul

このエラーを取り除くために、以下の2つのステップを実行してください。

  1. Product> cleanを使用してプロジェクトをクリーンにする
  2. プロジェクトを実行する

今すぐアクションやアウトレットを追加してみてください。それでおしまい。

ハッピーコーディング

49

ベストアンサーのヒントはどれも私にとっては役に立ちませんでした。夢中になりました。それからアシスタントエディタがどういうわけか Manual に設定されていて、ViewController.Swiftファイルの代わりに ViewController.Swift(Interface) を使っていたことに気づきました。

それを変更し、問題を解決しました。ちょっと恥ずかしいですがねえ、私たち全員が学んでいます。

enter image description here

46
Joshua Dance

これが私のために解決されたステップです:

  1. ビューからクラス名の参照を削除し(ストーリーボード/ xib)、保存します。
  2. クラス名をもう一度追加して保存します。
  3. クリーンとビルド

完了しました。

14
Clever Almeida

私は同じ問題を抱えていました。コントロールドラッグでアウトレットを作成しようとすると、X-CodeよりManual項目が選択されていることに気付きました

enter image description here

自動に設定した後はうまくいきました

enter image description here

8
Vitalii

私は同じ問題を抱えていました。私は解決策を下回って疲れましたが、うまくいきませんでした:

  1. Clean Project (cmd + shift + k)そしてClean Project Build (cmd + shift + alt + k)
  2. Deleted Derived dataModule Cache content

この問題に対する下記の回避策:

  1. ソースコードファイルに移動して手動でIBOutlet / IBActionを書く(コピーペーストが望ましい)

Screenshot 1

  1. 次にストーリーボードファイルに移動してUtilitesウィンドウを開きます
  2. 後藤Connection Inspector
  3. 次に、ソースファイルに記述されているIBOutletIBActionをInterface Builderで接続します。

Screenshot 2

8

私はプログラム的にLabelsとTextfieldsを作成し、そしてコードの左側にある小さな空の円からストーリーボード上のコンポーネントにCommand-ドラッグしてこの問題を解決した。私の主張を説明すると:私は@IBOutlet weak var HelloLabel: UILabel!を書き、それからCommandを押してストーリーボード上のコンポーネントにコードをドラッグしました。

6
  1. 作業しているプロジェクトを閉じます。
  2. プロジェクトの【DerivedData】フォルダを削除してください。 (このフォルダは、プロジェクトのフォルダ内、またはプロジェクト内にあります。
    ~/Library/Developer/Xcode/DerivedData/
    (あなたのプロジェクト)/)またはあなたが設定した他の場所。
  3. プロジェクトを再起動してください。
6
Ali

このバグはXCODE 9で見つかるので、もっと簡単な回避策を見つけました。

ステップ1はあなたのviewcontrollerに行き、手動であなたが以下の例のように接続したいプロパティを書く、あなたが以下のフォーマットを使うことを確認してください。

@IBOutlet弱いvar質問StackView:UIStackView!

ステップ2ではストーリーボードに移動し、自分のビューや、ステップ1で作成したプロパティに接続しようとしているものは何でも接続します。

上記により、派生データを削除してクリーニングする時間を節約できます。

3
Vision Mkhabela

私のためにそれは右タブ>ローカライズのときにうまくいきました、私は英語のチェックボックスをチェックしました。当初はBaseだけがチェックされていました。その後、私はもう問題はありませんでした。お役に立てれば!

2
lmicu

クラスの名前を変更したときにこのバグが発生しました。それから私は以下のステップをたどることによってそれを解決しました

  • Xcodeメニュー - > Product - > Cleanname__
  • Restartthe Xcode
2
Vinoth Vino

このエラーを取り除くためだけに次の2つのステップを実行してください。

1.  Clean Project using Product -> clean.
2.  Run the Project.

それではアクションやアウトレットを追加/接続してみてください。

何度も私のためにうまく働いています。

2
Devendra Singh

enter image description here

ViewController.Swiftファイルを選択するために Automatic オプションを選択しました。それから私は店を取ることができる。

2
Arpit B Parekh

私の場合、これはbcでした。私はIBで新しいUIViewControllerファイルを選択し、次にConnections Inspectorで以前の接続を削除せずにこの新しいコントローラーにCtrlキーを押しながらドラッグしようとしました。最初にそれらを削除してやり直してください。

2
Marius Waldal

私はxCode 7とiOS 9を使いました。

あなたの.mに

#import "VC.h"を削除

.mを保存してアウトレットを再度リンクしてください。

あなたの.mに

#import "VC.h"を追加

.mを保存

0
Ahmed Abdallah

これのどれも私のために働きませんでした、しかし私はこれを理解しました。

ストーリーボード内 対応するViewControllerをクリップボードにコピーして削除し、その後再度貼り付けました。

突然、すべてが再び魅力のように機能していました。

0
Markus

SwiftファイルをObjective-Cプロジェクトに追加したときに起こりました。
だから、この状況であなたができることは何ですか。 。

  • SelectMY_FILE.Swift>>Delete>>Remove Reference
  • SelectMY_FOLDER>>AddMY_FILE.Swift
  • Voila ! You are good to go .
0
roy

最も簡単な解決策: - 私はxCode 7とiOS 9を使いました。

あなたの.mに

#import "VC.h"を削除します。

.mを保存してアウトレットを再度リンクしてください。

0
Ahmed Abdallah