web-dev-qa-db-ja.com

Xcode 7.1 Swift 2 Interface Builderファイルの不明なクラス

新しいCocoa Touchファイルを作成しました。 SwipingViewControllerと名付けられました。 enter image description here

次に、カスタムクラスをViewControllerに追加してみます。

そして、アプリを実行するとエラーが表示されます

2015-10-09 10:53:25.054 ParseStarterProject [5369:389307] Interface Builderファイルの不明なクラスSwipingViewController。

Unknown class SwipingViewController in Interface Builder file

関連: Xcode 6の奇妙なバグ:Interface Builderファイルの不明なクラス

これが私の projects files です

50
Alex Belke

[カスタムクラス]フィールドの下のストーリーボードでは、モジュールは[なし]に設定されています。それをアプリモジュールに変更するか、クラスを削除して再度入力するだけで、次のようにデフォルトに設定する必要があります。

138
Nakul

私にとって問題は、クラスがTarget Membershipの一部ではないことでした。クラスをターゲットに追加するだけで、インターフェイスビルダーに表示されます。

Target Membership

16

XCode 8.2.1でこの問題が引き続き発生しますが、ストーリーボードxmlファイルでこれらを変更することで問題を解決できます。

  1. viewControllerタグのcustomModuleProvider="target"を削除します。

    - <viewController ... customModule="Flights" customModuleProvider="target" sceneMemberID="viewController">
    + <viewController ... customModule="Flights" sceneMemberID="viewController">
    
  2. ウィジェットタグのcustomModule="Flights" customModuleProvider="target"を削除します(私の場合、labelタグ):

    - <label ... translatesAutoresizingMaskIntoConstraints="NO" id="PzF-6K-Hpi" customClass="YZLabel" customModule="Flights" customModuleProvider="target">
    + <label ... translatesAutoresizingMaskIntoConstraints="NO" id="PzF-6K-Hpi" customClass="YZLabel">
    

クラッシュ/警告を解決するにはステップ1も非常に重要であり、スキップすることはできません。

10
Yuchen Zhong

プロジェクトの「ビルド設定」の「その他のリンカーフラグ」に「-ObjC」を追加して、同様の問題を解決しました。

2
sagnitude

私も同様の問題がありました。 TableViewを含むViewControllerがあり、tableViewのカスタムクラスは「ViewController」と呼ばれていました。 tableViewのカスタムクラスを削除しただけで、エラーはなくなりました。

1
kev

ストーリーボードのクラス名の下にモジュール名を手動で書き込むことで解決しました。私の場合、クラスと同じ名前でしたが、異なる場合があります。

0
Mijail

私の場合:「Identity Inspector」のテーブルビューセルでは、「Inherit Module From Target」のチェックを外してプロジェクトをクリーンアップしました。問題を解決し、プロジェクトを正常に実行しました

0
Kiryl Ivanou

View Controllerの初期化を適用して、この問題を解決しました。ビューコントローラーのビューの基本的な宣言は、*。Swiftクラスのメソッドとクラスの実装をストーリーボードにロードしました。

0
RaviM