SwiftでVanillaマスターディテールプロジェクトを開始しました。新しいビューコントローラーを追加してカスタムクラスを設定すると、モジュールリストが空になり、モジュールを選択できなくなります。エラーメッセージ「インターフェイスビルダーファイルの不明なクラス」。コードを実行すると、コンソールに表示されます。ストーリーボードをセットアップしてカスタムクラスとモジュールを知るにはどうすればよいですか?
どうするべき。テンプレートの2つのクラスで問題ありません。
そしてそれはどのように
追加する必要がありますcustomModule="Target_Name" customModuleProvider="target"
をインターフェイスビルダーのソースコードに追加します。それは本当に迷惑です!
更新:プロジェクト全体を別のディレクトリに移動した場合。デスクトップに動作します。 「リポジトリ」という名前のディレクトリが壊れているようです。理由がわからない:(
デフォルトのXcodeプロジェクトのUIViewController
サブクラスをUITableViewController
のサブクラスに変更すると、同様の問題が発生しました。 (私はこの変更をクラスソースファイルに加えましたが、ストーリーボードとは関係ありません)。
次に、新しいクラス名をストーリーボードのデフォルトの「ビュー」のIB「クラス」フィールドに入力しました。クラス名をオートコンプリートせず、実行時にUnknown class in Interface Builder file
エラーが発生しました。
解決策は、ストーリーボードからデフォルトのUIViewController
オブジェクトを削除してから、新しいUITableViewController
を追加することでした。次に、そのオブジェクトのIBのクラスをカスタムクラスに設定します。
最初のスクリーンショットのクラスは...ViewController
で、2番目のクラスは...TableViewController
であるため、元の質問がこの問題にぶつかっているようです。
同じ問題が発生していましたが、存在しないカスタムクラスを、ビューコントローラーが管理するビューオブジェクトに誤って割り当ててしまったことがわかりました。したがって、ストーリーボードのドキュメントビューで、不適切に構成されたビューオブジェクトを選択し、IDインスペクターで、表示されている不適切なカスタムクラスを削除しました(バックスペースとリターンキーを押した)。これで問題は解決しました。
私の場合、カスタムクラスは、コントローラによって管理されるビューオブジェクトではなく、ビューコントローラに割り当てる必要があります。