12

AppDelegate に問題があります。アプリを実行すると、次のエラーが発生します。

  Terminating app due to uncaught exception 'NSUnknownKeyException', reason: 
  '[<UIApplication 0x856c820> setValue:forUndefinedKey:]:
   this class is not key value coding-compliant for the key view.'

これは AppDelegate.h のコードです

#import <UIKit/UIKit.h>

@class ViewController;

@interface AppDelegate : UIResponder <UIApplicationDelegate>{

        //UINavigationController *navigationController;
 }

@property (strong, nonatomic) UIWindow *window;


@property (copy, nonatomic) ViewController * viewController;
@property (copy, nonatomic) UINavigationController * navigationController;



 @end

これは AppDelegate.m のコードです

 #import "AppDelegate.h"

 #import "RootViewController.h"



  @implementation AppDelegate



  - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:  (NSDictionary *)launchOptions
   {
        self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

        RootViewController *rootMenu;


         if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
              rootMenu= [[RootViewController alloc]  initWithNibName:@"ViewController_iPhone" bundle:nil];
    } else {
              rootMenu = [[RootViewController alloc]initWithNibName:@"ViewController_iPad" bundle:nil];
  }


  self.navigationController =[[UINavigationController  alloc]initWithRootViewController:rootMenu];

  self.window.rootViewController = self.navigationController;

  [self.window makeKeyAndVisible];
   return YES;
 }

このエラーを解決するにはどうすればよいですか? RootViewController を書き直して、古いものをゴミ箱に捨てましたが、問題は同じままです。

4

2 に答える 2

23

これは通常、InterfaceBuilderまたはストーリーボードの接続が適切に確立されていない場合に発生します。接続を確立してから、接続が確立されたコードを削除する場合があります。Interface Builderにはまだコードへの参照があり、キー/値に準拠したランタイムエラーが発生します。ビューコントローラに適切なクラスを割り当てていない場合にも、このエラーが発生する可能性があります。特定のViewControllerのコードを記述した場合は、そのViewControllerのInterfaceBuilderでクラスを適切に設定してください。

于 2012-10-04T14:16:44.857 に答える
4

この質問は少し古いことは知っていますが、同じ問題に遭遇していて、以下の記事が大いに役立ちました. 基本的に、@bgolson が説明した問題を修正する方法を段階的に示しています。

http://www.tech-recipes.com/rx/52021/how-do-i-fix-the-issue-this-class-is-not-key-value-coding-compliant-for-the-key- in-xcode-6/

于 2015-03-29T22:12:50.730 に答える