10

Ich programmiere programmgesteuert einen Listenansicht-Controller. Wenn ich versuche, das Projekt auszuführen, ich habe Fehler:Der App-Delegat muss die Eigenschaft window implementieren, wenn er eine Storyboard-Hauptdatei verwenden möchte

2012-11-07 22:46:34.719 myTableViewControl[12021:c07] The app delegate must implement the   window property if it wants to use a main storyboard file. 
2012-11-07 22:46:34.722 myTableViewControl[12021:c07] -[AppDelegate setWindow:]:  unrecognized selector sent to instance 0x7674e70 
2012-11-07 22:46:34.723 myTableViewControl[12021:c07] *** Terminating app due to uncaught  exception 'NSInvalidArgumentException', reason: '-[AppDelegate setWindow:]: unrecognized  selector sent to instance 0x7674e70' 
*** First throw call stack: 
(0x1c8e012 0x10cbe7e 0x1d194bd 0x10df7ea 0x1c7dcf9 0x1c7d94e 0x1d60 0x107b7 0x10da7  0x11fab 0x23315 0x2424b 0x15cf8 0x1be9df9 0x1be9ad0 0x1c03bf5 0x1c03962 0x1c34bb6 0x1c33f44  0x1c33e1b 0x117da 0x1365c 0x1bd2 0x1b05) 
libc++abi.dylib: terminate called throwing an exception 
(lldb) 

Wenn ich den Code ausführen, es auf dem main.m hängen und zeigt, dass

"thread1: signal SIGABRT"

@autoreleasepool {return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 

mein Code als folgende: AppDelegate.h

// 
// AppDelegate.h 
// myTableViewControl 
// 
// Created by Max on 12-11-5. 
// Copyright (c) 2012年 Max. All rights reserved. 
// 

#import <UIKit/UIKit.h> 

@interface AppDelegate : UIResponder <UIApplicationDelegate> 

@property (strong, nonatomic) UINavigationController *navigationController; 


@end 

AppDelegate.m

FirstViewController ist Listenansicht-Controller.

Antwort

15

Sie erstellen Ihr Fenster als eine lokale Variable und versuchen dann, darauf zuzugreifen, als ob es eine Eigenschaft wäre, indem Sie self.window verwenden. Mach es zu einer Eigenschaft.

+4

Phillip ist richtig. Sie fehlen diese Zeile aus der Header-Datei: '@property (starke, nichtatomare) UIWindow * window;' – Cashew

+0

thnx so .... viel. Ich bin der neue Typ auf IOS, sehr geschätzt für die Hilfe des Kerls – max

+1

Auch, wenn Sie bereits diese '@ Eigenschaft' haben und es immer noch einen Laufzeitfehler wirft, schauen Sie, ob Sie auch '@ synthesize' dafür haben. Es funktioniert irgendwie wunderbar ** für XCode 4.5 und iPhone 5. Ich habe keine andere Kombination ausprobiert, weil ich diesen Fehler vorher gefunden habe. –