0

刚刚开始 iPhone 开发。

我不确定为什么这段代码有效。我创建了一个新的 UI 控制器,然后将其详细信息添加到应用程序委托 *.h 文件和 *.m 文件中,然后在 IB 中连接起来。当我运行它时一切正常,所以我确实从我添加的控制器中看到了我的新视图......

但是我在应用程序委托的 didFinishLaunchingWithOptions 方法中看到我从未真正创建过我的控制器?(即分配它/创建对象)。

事情是怎么发生的?

(是

#import "windowsBasedAppDelegate.h"
#import "gregsController.h"

@implementation windowsBasedAppDelegate

@synthesize window;
@synthesize viewController;


#pragma mark -
#pragma mark Application lifecycle

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    

    // Override point for customization after application launch.
    [self.window addSubview:viewController.view];

    [self.window makeKeyAndVisible];

    return YES;
}

(B) *.h

#import <UIKit/UIKit.h>
@class gregsController;

@interface windowsBasedAppDelegate : NSObject <UIApplicationDelegate> {
    UIWindow *window;
    gregsController *viewController;

}

@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet gregsController *viewController;

@end

谢谢

4

1 回答 1

1

如果您在界面生成器中创建了一个对象,并连接了插座,那么 nib 文件实际上会使用 initWithCoder 为您实例化该对象:

于 2011-02-20T23:58:55.663 回答