
AppDelegate.m
- (BOol)application:(UIApplication *)application dIDFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ // OverrIDe point for customization after application launch. UINavigationController *navigationController = (UINavigationController *)self.window.rootVIEwController; // *** here *** MasterVIEwController *controller = (MasterVIEwController *)navigationController.topVIEwController; controller.managedobjectContext = self.managedobjectContext; return YES;} AppDelegate.h
@property (strong,nonatomic) UIWindow *window;
我知道@synthesize只是设置访问器方法,并且没有自动发生初始化.但是如果窗口没有被明确地初始化,那么窗口如何具有非null的RootVIEwController?这只是Xcode在幕后吗?
解决方法 从 my book:总结If you choose the Storyboard option as you specify a template,the process works a little differently. The app is given a main storyboard,pointed to by the Info.pList key “Main storyboard file base name” (
UIMainStoryboardfile). AfterUIApplicationMaininstantiates the app delegate class,it asks the app delegate for the value of itswindowproperty; if that value is nil,the window is created and assigned to the app delegate’swindowproperty. The storyboard’s initial vIEw controller is then instantiated and assigned to the window’srootVIEwControllerproperty,with the result that its vIEw is placed in the window as its root vIEw; the window is then sent themakeKeyAndVisiblemessage. All of that is done behind the scenes byUIApplicationMain,with no visible code whatever. That is why,in a storyboard template,theapplication:dIDFinishLaunchingWithOptions:implementation is empty.
以上是内存溢出为你收集整理的ios – 在AppDelegate中,主UI UI如何实例化?全部内容,希望文章能够帮你解决ios – 在AppDelegate中,主UI UI如何实例化?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)