1

私は Big Nerd Ranch iOS プログラミング ガイド (第 3 版) に従い、このプロジェクトを作成するために書かれているすべてのことに従いました。私はiOSが初めてなので、修正方法がわからないというエラーが表示されます。XcodeのテンプレートからSingle-View Based Applicationを使用したときに、最初にプログラムに問題があり、このエラーが発生しました。

2012-05-25 16:02:12.926 Whereami[1083:707] アプリケーション ウィンドウには、アプリケーションの起動の最後にルート ビュー コントローラーが必要です。

いくつかのフォーラムをスキャンした後、Xcode で MainInterface を設定する必要があることがわかりました。

以前 - https://i.imgur.com/YCnRM.png

後 - https://i.imgur.com/5QnJ3.png

設定の MainInterface テキスト ボックスに xib ファイル名を追加して上記のエラーを修正した後、次のエラーが発生します。

    2012-05-25 16:04:09.068 Whereami[1102:707] *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<UIApplication 0x11f620> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key activityIndicator.
*** First throw call stack:
(0x3507b88f 0x364a2259 0x3507b5c5 0x30eb6323 0x30eb5e23 0x30e8ff09 0x34fda7d3 0x34fdb461 0x323111af 0x3231294d 0x32248509 0x320d1893 0x320cb8d7 0x32099c6b 0x3209970f 0x320990e3 0x362ce22b 0x3504f523 0x3504f4c5 0x3504e313 0x34fd14a5 0x34fd136d 0x320caa13 0x320c7e7d 0x7ebd7 0x7eb7c)
terminate called throwing an exception

ここに私のソースファイルがあります:

AppDelegate.m - https://i.imgur.com/7FdCZ.png

WhereamiViewController.h WhereamiViewController.m

ビュー - https://i.imgur.com/IZeoa.png

実行- https://i.imgur.com/dyYKd.png

私は困惑しており、先に進んで最終的にこの本を完成させるために、これを理解する必要があります. 仕事用の最初のアプリを来週までに完成させる必要があります。

4

1 に答える 1

1

質問のテキストは、あなたがこれを求めているようです... 設定できる1つの方法は次のとおりです。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
    // Override point for customization after application launch.
    LoginViewController* loginView = [[[LoginViewController alloc]initWithNibName:nil bundle:nil]autorelease];
    mainNavController = [[UINavigationController alloc]initWithRootViewController:loginView];

    //here is the magic line
    [_window addSubview:mainNavController.view];

    [self.window makeKeyAndVisible];
    return YES;
}

または、mainNavController なしで実行できます。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
        // Override point for customization after application launch.
    LoginViewController* loginView = [[[LoginViewController alloc]initWithNibName:nil bundle:nil]autorelease];

    [_window addSubview:loginView.view];
    self.window.backgroundColor = [UIColor whiteColor];
    [self.window makeKeyAndVisible];
    return YES;
}

タイトルはあなたがこれを求めているようです... 現在、存在しないかスペルが間違っているセレクターまたはクラスのメンバーにアクセスしようとすると、通常、NSUnknownKeyExceptionエラーが発生します(通常、私にとっては後者です!)。クラスは辞書のようなものと考えることができ、メンバーまたは関数を呼び出すことは、キーによって辞書オブジェクトを要求するようなものです。元。

`@selector(misspelledFunctionName:)` 

また

[object functionThatIsMisspelledOrNotDefinedInObject];

どちらが問われているのかわからないので、両方答えてみました。うまくいけば、それが役立つでしょう:)

編集:これらは両方とも最終的に答え、またはとにかくその一部になりました。UIApplication には正しいビューが割り当てられていなかったため、xib は存在しないキーを送信していたため、クラッシュが発生していました。plist からルート ビューの割り当てを削除し (クラッシュは発生しませんが、画面は空白になります)、上記のようにビューを割り当てました (ビューは完全に表示されました!)。

于 2012-05-25T20:24:17.463 に答える