23

テーブルにロードするためのカスタム セルを作成しました。インターフェイスが完成したので、xib とクラスをリンクしようとしています。

分割画面ビューを開いて、項目のドラッグを制御して、Xcode が接続できるようにします。名前を入力して接続をクリックすると、エラーが発生します。

新しいアウトレット接続を挿入できませんでした: HistoryCell という名前のクラスのクラス定義が含まれていないため、ソース コードを URL://localhost/Users/Velox/Projects/CompanyName/ProjectName/ProjectName/HistoryCell.m のドキュメントに挿入できませんでした。

xib のカスタム クラスを HistoryCell に設定しました。

ここで何が欠けていますか?

ありがとう。

4

21 に答える 21

75

この問題は、ファイルを同じ名前の新しいファイルに置き換えるときに主に忍び寄る Xcode のバグのようです。Xcode は、同じ名前の古いファイルの参照を保持しているようです。

とにかく、これを修正する方法は次のようです-

  1. プロジェクトをきれいにする

  2. Project Navigatorビューで< Your Project > をクリックします。ビルド対象のターゲットのBuild Phasesの下にあるCompile Sourcesに移動します。問題を引き起こしている.mファイルを削除して追加し直します。

  3. または、NIB ファイルのFile Inspector ( Utilitiesビュー) で、 Target Membershipの下で、ターゲット名のチェックを外して再度オンにします。

  4. 適切な測定のために Xcode を再起動します。

  5. もちろん、.m ファイルだけを削除して追加し直すことでも修正されるはずです。

手順 1. と 2. だけで解決しました。ステップの拡張が必要かどうかお気軽にお尋ねください。

乾杯と幸せなコーディング:)

于 2013-08-05T11:55:49.790 に答える
20

.m ファイル (参照のみ) を削除してから、プロジェクトに再度追加することで、この問題を修正しました。XCode は時々壊れると思います (私は最新の 4.6 を使用しています)。

于 2013-02-04T23:12:02.853 に答える
5

https://stackoverflow.com/a/16166878/521946

プロジェクトをクリーンアップして、Xcode を再起動してみてください。
それでも接続できない場合はUtilities、Xcode のナビゲーション ビューに従い、Target membershipセクションでチェックボックスをオフにしてチェックボックスをオンにすると、機能します。チェックを外した後、プロジェクトを再構築する必要があるかもしれません。

于 2013-04-23T11:07:30.103 に答える
4

XCode を終了し、次を使用して派生データを消去します。

rm -rf ~/library/Developer/Xcode/DerivedData/*

XCode を再起動して接続します。

必要に応じて、エイリアスを作成します

alias purgeallbuilds='rm -rf ~/library/Developer/Xcode/DerivedData/*'

ここで提案されているように、あなたの .bash_profile に。

于 2014-12-11T18:11:29.350 に答える
4

.mファイルに移動するだけ

削除する

#import "calssName.h" 

ファイルを保存

もう一度テキストを追加

#import "calssName.h"

ファイルを保存

于 2015-02-09T10:00:08.247 に答える
3

誤って削除されたviewcontrollerでも同じ問題が発生しました。ファイルをプロジェクトに再読み込みしましたが、xibファイルからドラッグしてアウトレットを追加すると、前述のエラーが発生しました。プロジェクトをクリーンアップしてXCodeを再起動すると、すべて正常に動作しました。

于 2012-11-25T22:31:56.213 に答える
3

この問題は、他のエラーが原因である可能性があります。プログラムをビルドし、エラーや警告があれば修正します。次に、Ctrl キーを押しながらドラッグしてアウトレットを再度挿入すると、問題は解消されます。

于 2012-07-29T14:55:29.603 に答える
3

それで、私はばかだったことがわかりました。Xcode では、このようなことはまったくできません。ヘッダー ファイルでプロパティを手動で作成し、それらをクラス ファイルで合成する場合は、次の手順でリンクできます。

xib ファイルを開きます [オブジェクト] パネルのセルを右クリックします ここのオプションから xib 上のオブジェクトをクリックしてドラッグします。

それだけです。

于 2012-06-12T12:04:26.840 に答える
2

Xcode 6.2でも同じ問題がありました。この場合、意味のないものを追加および削除することにより、ターゲットクラスに「触れる」だけで十分であり、再コンパイルを強制しました。その後、問題は解決しました。

于 2015-03-13T08:49:28.057 に答える
2
  1. Compoile ソースから .m ファイルを削除し、再度追加します。
  2. プロジェクトをクリーンアップしてビルドします。
  3. xcode を再起動します。

私の場合、#1は問題を修正しました

于 2014-07-17T07:55:45.877 に答える
1

xCode 7 と iOS 9 を使用しました。

あなたの.mで

消去#import "VC.h"

.m を保存し、アウトレットを再度リンクすると正常に動作します。

于 2016-08-11T13:21:01.330 に答える
1

削除して再度追加するソリューションは少しうまくいくように見えました。幸いなことに、私はこの同じ状況を早い段階で経験し、プログラミングの深いところで起こった場合に備えて、簡単に修正する方法を望んでいました. プロジェクト「Command B」をビルドするか、製品に移動してビルドするだけであることがわかります。これはうまく機能し、私のビューを指定されたファイルに関連付けました。

于 2015-11-19T14:11:16.697 に答える
0

"Product>Clean" を試し、次に "Product>Clean Build Folder" を試しましたが、まだ問題がありました。次に、問題を引き起こしているView Controllerに関連付けられている問題のある.mおよび.hファイルを削除し、View Controllerクラス用に新しい.mおよび.hを作成し、新しいView Controllerクラスをストーリーボードオブジェクトに再割り当てしましたとのトラブル、そしてすべてがうまくいきました。

于 2015-09-08T23:35:17.163 に答える
0

XCodeを再起動するだけです。それは私のために働いた。

于 2016-01-27T13:59:52.390 に答える
0

チュートリアルに従って空のプロジェクトで数回成功したため、古いプロジェクトに新しいウォッチターゲットを追加しようとすると問題が報告されました。ターゲットにスキームを挿入し、ターゲットとスキームの両方のファイルを削除し、Xcode を再起動して派生ファイルを何度も削除しようとしました。しかし、ターゲットを再作成してアシスタント エディターをアクティブにしようとするたびに、メイン ストーリーボードに対応するファイルが見つからず、手動で選択して新しいアウトレットをドラッグしようとすると、元のポスターのエラーが発生します。他に何がありますか?スクリーンショットでわかるように、私のエラーはまったく異なります。ここに画像の説明を入力

于 2015-09-22T16:44:51.277 に答える
0

インデックス作成がオフになっていないことを確認してください (これは私の問題でした)。コマンドラインからオンに戻す方法は次のとおりです。

デフォルト書き込み com.apple.dt.Xcode IDEIndexDisable 0

于 2016-03-08T16:25:40.250 に答える