0

免責事項: 私はこの言語にまったく慣れていないので、非論理的なことをしたり、間違った説明をしたりした場合はお詫び申し上げます。私も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」への参照が見つかりました。しかし、それは役に立ちませんでした:

  1. 開いた xcode.app パッケージの内容
  2. ブレッドボックスのファインダー検索
  3. 1つのファイルのみが表示されました
  4. xcodeで開いた
  5. xcodeに変数の兆候がない
  6. xcode を閉じて、textedit.app で再度開いた
  7. cmd+F で「ブレッドボックス」を検索
  8. *.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>
    
  9. エントリを削除しました

  10. textedit.app で保存
  11. xcodeで閉じて再度開く
  12. プロジェクトを実行しました
  13. シミュレーターはまだ同じエラーをスローします。

コンピューターから Xcode を 100% 完全に削除して、最初からやり直す方法はありますか? 私はこれで多くのことをしたわけではなく、これが私の唯一のプロジェクトです。大切なものを見逃してはいけません。私はそれをする必要がありますか?

4

1 に答える 1

0

だから、私はこれに対する答えを見つけました。ただし、SO以外のリソースからのものですが、手順は次のとおりです。

Xcode と iPhone シミュレーターのキャッシュをクリアしてみてください。

Xcode キャッシュ: キャッシュ を空にしてすべてのターゲットを消去する方法 Xcode 4

iPhone シミュレーター シミュレーターを開いた状態で、メニューから [iOS シミュレーター] -> [コンテンツと設定のリセット] を選択します。

これは私の状況ではうまくいきましたが、実際には非常にうまくいきました。誤ったプロパティ アウトレットを参照することなく、プロジェクトで CollectionView オブジェクトを使用できるようになりました。

皆様、貴重なご意見と時間をありがとうございました!

于 2012-12-05T14:33:39.863 に答える