0

こんにちは、私は Xcode を初めて使用し、簡単な追加アプリを作成しています。これを取得したときに完成させました。

2012-07-17 19:06:55.478 Add[3526:fe03] * キャッチされない例外 'NSUnknownKeyException' が原因でアプリを終了しています。理由: '[ setValue:forUndefinedKey:]: このクラスは、キーの値のコーディングに準拠していません.' * First throw call stack: (0x13c7022 0x1558cd6 0x13c6ee1 0x9bf022 0x930f6b 0x930edb 0x94bd50 0x23371a 0x13c8dea 0x13327f1 0x23226e 0xd81fc 0xd8779 0xd899b 0x37401 0x37670 0x37836 0x3e72a 0xf596 0x10274 0x1f183 0x1fc38 0x13634 0x12b1ef5 0x139b195 0x12ffff2 0x12fe8da 0x12fdd84 0x12fdc9b 0xfc65 0x11626 0x1b7d 0x1ae5 0x1) terminate called throwing an exception(lldb)

コードを提供する main.m に自動的に移動しました。

//
//  main.m
//  Add
//
//  Created by Dominic Kynkor on 7/17/12.
//  Copyright (c) 2012 academy of the holy names. All rights reserved.
//

#import <UIKit/UIKit.h>

#import "AdditionAppDelegate.h"

int main(int argc, char *argv[])
{
    @autoreleasepool {
        return UIApplicationMain(argc, argv, nil, NSStringFromClass([AdditionAppDelegate class]));
    }
}

誰が何がうまくいかないのか知っていますか?

4

3 に答える 3

1

これは必ずしもエラーが発生した場所ではありませんが、キャッチされなかった例外がフォールバックしたアプリ エントリ ポイントを示しているだけです。NSDictionaryコードの別の場所で を間違って使用しようとしている可能性があります。最善の方法は、メソッドを呼び出す場所にブレークポイントを設定しsetValue、例外がスローされるまでコードを 1 ステップ実行することです。

于 2012-07-18T00:13:12.100 に答える
0

デバッガーに実行させたいのは、発生した時点で例外をキャッチすることです。これにより、スタックトレースを確認して、結果の設定が発生している場所を確認できます。

Xcodeで例外ブレークポイントを有効にするには、[ブレークポイント]タブに移動し、下部にあるプラス記号をクリックして、[例外ブレークポイントの追加]を選択します。表示されるダイアログのデフォルトを使用して、[完了]をクリックします。

これで、デバッグセッションの生産性が大幅に向上します。

于 2012-07-18T02:22:42.710 に答える
0

私はそれを100%確信していません。ただし、このエラーは通常、XIB ファイルに接続ミスがある場合に表示されます。XIB ファイルを確認し、Ctrl キーを押しながらファイルの所有者をクリックし、警告があるかどうかを確認します。

于 2012-07-18T01:51:45.937 に答える