web-dev-qa-db-ja.com

アウトレットをストーリーボードからXCodeのアシスタントエディターにドラッグできません

以前はXCodeでこれを行うことができましたが、今度は、友人から送信された、自分が開いた新しいプロジェクトに突然参加できなくなりました。

これを再び開始するために変更する必要がある特定の設定はありますか?

つまりコードでリンクしたいテキストボックスがありますが、今はできません。 :(

みんな助けて!

26
econclicks

アシスタントエディターウィンドウが間違ったクラスに開かれている可能性があります。現在選択されているビューコントローラーを確認し、アシスタントエディターで開かれているものと同じであることを確認する必要があります

またはアシスタントエディターで、自動を選択します(スクリーンショットを確認)

enter image description here

enter image description here

29

私は同じ問題を抱えていて、全体を見渡して、問題に対する適切な修正を見つけることができませんでした。私のコントローラーが最初に生成されたときに何が起こっていたのですか?名前を切り替えても、カスタムクラス領域の値は切り替えませんでした。修正するには:

  1. View.xibを選択します
  2. プレースホルダーの下で「ファイルの所有者」を選択します。これは、画面の左側にあり、黄色の立方体が隣にあります。
  3. ユーティリティメニューの3番目のオプション(ID)を選択します。
  4. カスタムクラスクラスを正しいコントローラー名に変更します。

これは特定の質問の問題ではないことはわかっていますが、この質問を数回クリックしたので、誰かが同じ問題を抱えている場合に役立つと思いました。

21
Hennish

私のための解決策は、ドラッグ中にCtrlキーを押すことでした...

18

ストーリーボードと.hファイルを開いたときに最新バージョンのXcodeを使用して、(新しい).hファイルの下部にある@endタグの下の最後のスペースを削除します。なんらかの理由で、配置後にコンセントを配置できませんでした。アップルに感謝します!

したがって、私の問題を解決するには、.hファイルの@endタグの下に余分なスペースが必要です。

これは私の問題を修正したものであり、この特定の質問に答えられないことはわかっていますが、うまくいけば誰かを助けることができます。

3
Lazar Kukolj

同じ問題がありました。私の場合、IDインスペクターでのクラス名とソースコードでのクラス名の間に不一致がありました。

2
Dania Delbani

この問題もありました。 XCode 9:ストーリーボードで確認してください-> Identity Inspector-> "Inherit from Module from Target"がチェックされています(またはモジュール名を手動で入力します)

編集:ボックスのチェックが役に立たないことがわかりました-UIViewControllerのクラスを削除した場合、手動で入力してEnterキーを押し、XCode 9で問題がある場合はチェックボックス"Inherit Module from Target" will not自動チェック自体。試行錯誤の結果、クラス(Swift 4)で判明し、#if IDENTIFIER .... #endifこれは完全に有効でしたが、ストーリーボードの接続がどうにか失敗しました。それを削除した後、ストーリーボードにクラス名を入力すると、ボックスが自動的にチェックされ、接続が機能します。もう1つのXCode 9バグ。

1
xaphod