20

「name」というクラスを含めようとしましたが、エラーが発生しました:

Swift Compiler Error: Use of unresolved identifier 'name'

クラスは存在し、コンパイル エラーは含まれていません。

4

5 に答える 5

61

いくつかの問題が考えられます。

  1. クラスの 1 つにはTesting ターゲットがあり、他のクラスにはありません。すべてのクラスをテスト ターゲットに含めるか、まったく含めないことさえ必要です。

  2. Objective C クラスの場合は、クラスが ObjectiveC ブリッジング ヘッダー ファイルにあることを確認します。

  3. NSManagedObject サブクラスの場合。@objc(className)クラス宣言の前に追加します。

  4. それが別のフレームワークの一部である場合は、クラスまたは関数がpublic

于 2014-09-29T11:43:28.260 に答える
6

私もこの問題を抱えていました。クラス 2 のコード内でクラス 1 を参照しようとしていました。私の問題は、クラス 2 には A と B のターゲット メンバーシップがあり、クラス 1 にはクラス A のターゲット メンバーシップしかないことでした。

これを修正するには、[ユーティリティ] タブ (Xcode ウィンドウの上部バーにある一番右のボタン) を開き、[ターゲット メンバーシップ] サブセクションで両方のクラスに対して同じボックスがオンになっていることを確認します。

于 2015-07-13T17:40:17.613 に答える
6

私もこれを持っていました。おそらく、最初のクラスがテスト モジュールに含まれていて、「名前」が含まれていないことに気付くでしょう。簡単に言えば、テストにクラスを含める場合、それが参照するすべてのクラスがテストに含まれている必要があります。

于 2014-11-04T09:21:35.937 に答える
-1

リストにもう 1 つ追加します。

  1. 別のフレームワークの一部である場合は、[Build Active Architecture Only] 設定が同じであることを確認してください。
于 2016-05-06T15:14:49.280 に答える