iphone程序执行流程的几点注意

阅读: 评论:0

iphone程序执行流程的几点注意

iphone程序执行流程的几点注意

开发iphone平台运行程序,深刻理解程序执行流程对以后开发非常重要,我仅对我走过的弯路后才认识到的一些东西写出来,希望能给朋友们一些帮助,少走一些弯路:

对于:int reVal = UIApplicationMain(argc, argv, nil, nil)的理解需要注意以下几点:

1>对第四个参数,如果为nil,则会去查找-info.plist文件中的Main nib file base name字段值,然后根据值(一般是MainWindow)去读取nib文件MainWindow.xib.

2>delegate类的指定是在MainWindow.xib中File's Owner指定,点击右键,可以看到Outlets项中,delegates->*AppDelegate.同时也可以在*AppDelegate中点击右键可以看到Referencing Outlets项:delegate->File's Owner。。。

3>因此,如果只改变第四个参数nil为我们自己的代理类,是不行的,需要将上面的关联关系断开。如果删除该项关联,可以发现,程序再出不会执行*AppDelegete.m中执行了,也就是说不会执行*AppDelegete类了。但是我们发现程序仍然能显示window和view控件,这说明,程序在加载MainWindow.xib,仍会加载通过IB生成的控件,但是因为不会执行*AppDelegete类,所以我们没有办法去操作他们了。

4>同时,我们还看到在MainWindow.xib中*AppDelegate还可以看到Outlets项中,window->Window。这是指定该类的window关联到Window控件。只有在*AppDelegate.h中添加@property(nonamatic, retain) IBOutlet UIWindow* window(必须有IBOutlet)之后,才会在MainWindow.xib中*AppDelegate中看到Outlets项:window.因为指定IBOutlet之后,才说明该类有一个变量需要指定的控件来自于IB生成的控件。所以才会生成该Outlets项。

5>因此,如果需要自己写控件,不用IB生成的,有以下几点步骤:首先要删除MainWindow.xib和-info.plist文件中的Main nib file base name字段,同时改变第四个参数nil为我们自己的代理类。同时还要注意clean工程。如果不clean工程,总是会出现一些诡异的结果。我当时吃了很大的亏呀。!


好了,朋友们如果有一些好的心得,希望留言添上哈。。。

本文发布于:2024-01-30 06:18:48,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170656673219834.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:几点   流程   程序   iphone
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23