为啥此应用程序委托代码有效
Posted
技术标签:
【中文标题】为啥此应用程序委托代码有效【英文标题】:why does this application delegate code work为什么此应用程序委托代码有效 【发布时间】:2011-02-20 23:55:50 【问题描述】:刚刚开始 iPhone 开发。
我不确定为什么这段代码有效。我创建了一个新的 UI 控制器,然后将其详细信息添加到应用程序委托 *.h 文件和 *.m 文件中,然后在 IB 中连接起来。当我运行它时一切正常,所以我确实从我添加的控制器中看到了我的新视图......
但是,我在应用程序委托的 didFinishLaunchingWithOptions 方法中看到我从未真正创建过我的控制器? (即分配它/创建对象)。
实际情况如何?
(A) *.m
#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
谢谢
【问题讨论】:
我不太理解您的问题,您是否对应用委托的工作方式感到困惑? 【参考方案1】:如果您在界面生成器中创建了一个对象,并连接了插座,那么 nib 文件实际上会使用 initWithCoder 为您实例化该对象:
【讨论】:
以上是关于为啥此应用程序委托代码有效的主要内容,如果未能解决你的问题,请参考以下文章
SMTP - SSL 证书问题 - C# - 为啥此代码有效?
为啥此代码有效(具有无效非模板函数的 C++ 模板类)? [复制]
为啥此 python 代码在 pyspark 中有效,但在 spark-submit 中无效?