升級到4.2的Xcode我收到以下警告之後...如何正確創建一個根視圖控制器?
應用預計將有在應用程序啓動
的最後一個根視圖控制器讀取多達我可以後在線查找關於RootViewController的信息我不確定我是否已經正確創建了我的根視圖控制器。我很早以前就創建了它,當時我第一次學習用xCode編程。
我有一個問題,可以命名根視圖控制器而不是RootViewController。我現在看到的每個示例都將其命名爲RootViewController。我也看到它在應用程序代理合成像這樣...
@synthesize rootViewController = _rootViewController;
我不明白這是做什麼。爲什麼不......
@synthesize rootViewController;
在我改變了我的根視圖控制器RootViewController的名稱,隨後我發現在cupsofcocoa.com的例子中的任何事件。但即使在更改之後,我仍然得到「預計會有根控制器...」的警告。
如果有人有時間去看看,讓我知道我缺少什麼,我已經列出了我的初始化代碼的重要部分下面。
感謝,
約翰
//RootViewController.h
#import <UIKit/UIKit.h>
@interface RootViewController : UIViewController {
}
@end
。
//RootViewController.m
#import "RootViewController.h"
#import "JetLoggerAppDelegate.h"
@implementation RootViewController
@end
。
//JetLoggerAppDelegate.h my app delegate
#import <UIKit/UIKit.h>
@class RootViewController;
@interface JetLoggerAppDelegate : NSObject <UIApplicationDelegate> {
UIWindow *window;
RootViewController *rootViewController;
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet RootViewController *rootViewController;
@end
。
//.m app delegate
#import "JetLoggerAppDelegate.h"
#import "RootViewController.h" //I don't think I need this here
@implementation JetLoggerAppDelegate
@synthesize window;
@synthesize rootViewController = _rootViewController;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
if ([launchOptions count] == 0) {
_rootViewController = [[RootViewController alloc] init];
self.window.rootViewController = self.rootViewController;
[window makeKeyAndVisible];
return YES;
}else{
[JLHelper showAlertWithTitle:@"" message:[NSString stringWithFormat:@"launchOptions: %@", launchOptions]];
}
return NO;
}
。
//main.m
#import <UIKit/UIKit.h>
int main(int argc, char *argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
int retVal = UIApplicationMain(argc, argv, nil, @"JetLoggerAppDelegate");
[pool release];
return retVal;
}
你必須檢查的在設置窗口的rootViewController屬性之前的版本 – Bastian
其實我確實有addSubview這一行。我試圖返回零,但它會引發警告「不兼容的整數轉換指針....」。在任何情況下,我仍然會在運行時收到「應用程序預計會有根視圖控制器...」的警告。 – user278859