免責事項: 私はこの言語にまったく慣れていないので、非論理的なことをしたり、間違った説明をしたりした場合はお詫び申し上げます。私もStackOverflowは初めてです...
これまでのところ、Xcode (Objective-C) で空のプロジェクトを開始し、単一の Collection View Cell を含む Collection View オブジェクトを内部に持つ View Controller オブジェクトを追加しました。そのセルには Image View & Label オブジェクト (それぞれ 1 つ) があります。Storyboard と ViewController.h + ViewController.m のペアのファイル (UIViewController のサブクラス) を追加しました。
最初は空のプロジェクト テンプレートから始めましたが、問題が発生し、プロジェクト フォルダーを削除して、単一ビューのテンプレートからやり直しました。
現在、どのプロジェクトでも CollectionView オブジェクトを使用するたびに、実行時に Xcode からエラーが発生します。これは、Debug Navigator の「メイン」セクションである Thread 1 に表示されます。
"Terminating app due to uncaught exception 'NSUnknownKeyException',
reason: '[<ViewController 0x7419bb0> setValue:forUndefinedKey:]: this
class is not key value coding-compliant for the key breadboxCollectionView.'"
ViewController ヘッダーに関連付けられた CollectionView オブジェクトのアウトレット プロパティ名として「breadboxCollectionView」を使用しました。ただし、以前のプロジェクトの1つでそれを行いました。
2 つ目のコレクション ビュー オブジェクトを追加し、それを View Controller ヘッダー ファイルに結び付けて、「breadboxCollectionView」という名前のプロパティへのアウトレットとして関連付けると、アプリケーションは例外をスローせずに起動します。2 番目のコレクション ビュー オブジェクトは表示されませんが、この時点ではまったく別のハードルであると考えます。消えるには「breadboxCollectionView」への参照が必要です。
2 番目の Collection View オブジェクトを削除しようとしましたが、後でアプリケーションを実行した後: ブーム、同じエラーが表示されます。
次の順序で 2 番目のコレクション ビュー オブジェクトを削除しようとしました。
Xcodeを削除して再インストールしました。以前のプロジェクトの痕跡をすべて削除しました。新しいプロジェクトをゼロから始めました... また。また、Xcode 以外のテキスト エディターで *.storyboard ファイルを開き、"breadboxCollectionView" の痕跡を探しました。
「breadboxCollectionView」への同じ参照で、同じエラーが引き続き発生し、この変数がコンピューターのどこにリストされているかを特定して修正できません。
ここで NSUnknownKeyException エラーに関する他の質問を調べてみましたが、それぞれがかなりユニークな傾向があるようです。Apple Developer のドキュメントも、私の意見では、この状況ではあまり役に立ちません。
誰か提案はありますか?
更新 1:
次のことを行ったところ、実際に「breadboxCollectionView」への参照が見つかりました。しかし、それは役に立ちませんでした:
- 開いた xcode.app パッケージの内容
- ブレッドボックスのファインダー検索
- 1つのファイルのみが表示されました
- xcodeで開いた
- xcodeに変数の兆候がない
- xcode を閉じて、textedit.app で再度開いた
- cmd+F で「ブレッドボックス」を検索
*.storyboard ファイル内に表示される単一の結果。私はこれをやったと思っていましたが、以前は何も発見していませんでした:
<class className="ViewController" superclassName="UIViewController"> <source key="sourceIdentifier" type="project" relativePath="./Classes/ViewController.h"/> <relationships> <relationship kind="outlet" name="BreadrackCollectionView" candidateClass="UICollectionView"/> <relationship kind="outlet" name="breadboxCollectionView" candidateClass="UICollectionView"/> </relationships> </class>
エントリを削除しました
- textedit.app で保存
- xcodeで閉じて再度開く
- プロジェクトを実行しました
- シミュレーターはまだ同じエラーをスローします。
コンピューターから Xcode を 100% 完全に削除して、最初からやり直す方法はありますか? 私はこれで多くのことをしたわけではなく、これが私の唯一のプロジェクトです。大切なものを見逃してはいけません。私はそれをする必要がありますか?