我正在使用Apple的最新Xcode for MacOS 10.7(Lion)。我正在尝试制作iPhone应用程序。我是该语言的新手并决定加载苹果指南。 '你的第一个iOS应用程序'。这很好,教会了我一些东西,但它不起作用。我在“TestAppDelegate *”类型的对象上找不到预期的获取方法
我如何解决这个问题?
下面是代码:
TestAppDelegate.m
#import "TestAppDelegate.h"
#import "MyViewController.h"
@implementation TestAppDelegate
@synthesize window=_window;
@synthesize myViewController=_myViewController;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
MyViewController *aViewController = [[MyViewController alloc] initWithNibName:@"MyViewController" bundle:nil];
self.myViewController = aViewController;
// Or, instead of the line above:
// [self setMyViewController:aViewController];
[aViewController release];
self.window.rootViewController = self.MyViewController;
[self.window makeKeyAndVisible];
return YES;
}
/* Other methods omitted from the listing. */
- (void)dealloc {
[_myViewController release];
[_window release];
[super dealloc];
}
@end
该行:
self.window.rootViewController = self.MyViewController;
有问题吗
答案 0 :(得分:2)
objective-c区分大小写。你写了一个大写的M而不是小写。
self.window.rootViewController = self.myViewController;
答案 1 :(得分:1)
您的窗口尚不存在(至少从我在您的代码中看到的内容)。在导致SIGABRT的行之前添加:
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];