awakeFromNib小总结「建议收藏」

awakeFromNib小总结「建议收藏」awakeFromNib在使用IB的时候才会涉及到此方法的使用,当.nib文件被载入的时候,会发送一个awakeFromNib的消息到.nib文件里的每一个对象,每一个对象都能够定义自己的awakeF

大家好,又见面了,我是你们的朋友全栈君。

awakeFromNib

在使用IB的时候才会涉及到此方法的使用,当.nib文件被载入的时候,会发送一个awakeFromNib的消息到.nib文件里的每一个对象,每一个对象都能够定义自己的awakeFromNib函数来响应这个消息,运行一些必要的操作。

看样例:

创建一个viewController with XIB

awakeFromNib小总结「建议收藏」

定义一个UIView的子类

awakeFromNib小总结「建议收藏」

打开xib,并把View的类型指定为上一步骤定义的子类

awakeFromNib小总结「建议收藏」

然后在TestView.m中增加 awakeFromNib方法,执行程序发现此方法被调用了!!!能够在当中加代码来定义TestView的一些其它特性。

结果如图:

awakeFromNib小总结「建议收藏」

第一句:通过Xcode实例化controller,但controller的类在IB中创建时调用此方法

{我看有这么说的

awakeFromNib是一个仅仅有在GUI对象被成功载入才调用的方法,而init方法是在GUI被创建前就已经调用了。

当程序对Nib文件进行反序列化然后初始化时,会调用一次awakeFromNib。 
可是假设你使用initWithNibName调入Nib时,awakeFromNib是不会被调用的。

这个好像不准确!!!

第二句:initWithcoder是系统自己主动调用的,以后说!!!

第三句和第四句:这两局setNeedsDisplay会异步的调用drawRect来更新view的内容,这个我能够理解,但为什么是两句有点不理解,请高手不吝赐教

第四句:这句就是awakeFromNib被调用的地方了。

第五句:上述都结束后,view处理好了后就调用viewDidLoad了,所以不管从代码还是从IB载入view都要调用viewDidLoad的。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/154832.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月1日 上午7:36
下一篇 2022年7月1日 上午7:46


相关推荐

  • PHP工厂模式和抽象工厂模式

    PHP工厂模式和抽象工厂模式PHP工厂模式:php设计模式笔记,第二个是工厂模式。工厂,我们就可以联想到是一座房子,里面有N多车间,生产着不同系列的产品。我们如果是采购的话,要看什么产品,工厂很快从随便从其中一个车间拿出一个就解决,不会影响其他车间的工作,各自分工明确。在复杂的情况,也简单化了。php里面的工厂模式,也类似,由一个类,看作是工厂,在类里面构造一个对外方法接口,返回不同类型的类实例。工厂模式的好处:在复

    2022年7月25日
    11
  • Java死锁排查和Java CPU 100% 排查的步骤整理和OOM FullGc案例

    工欲善其事,必先利其器简介本篇整理两个排查问题的简单技巧,一个是java死锁排查,这个一般在面试的时会问到,如果没有写多线程的话,实际中遇到的机会不多;第二个是java cpu 100%排查,这个实际的开发中,线的应用出现这个问题可能性比较大,所以这里简单总结介绍一下,对自己学习知识的一个整理,提高自己的解决问题能力。一、Java死锁排查通过标题我们就要思考三个问题…

    2022年2月27日
    48
  • i386 i586 i686 的意思「建议收藏」

    i386 i586 i686 的意思「建议收藏」代表intel系列的cpu386几乎适用于所有的x86平台,不论是旧的pentum或者是新的pentum-IV与K7系列的CPU等等,都可以正常的工作!那个i指的是Intel兼容的CPU的意思,至于386不用说,就是CPU的等级啦!i586就是586等级的计算机,那是哪些呢?包括pentum第一代MMXCPU,AMD的K5,K

    2022年6月7日
    40
  • python 阅读器,文字转语音—-新技能你get到了吗

    python 阅读器,文字转语音—-新技能你get到了吗

    2021年9月17日
    57
  • es6转es5_es6转es5插件

    es6转es5_es6转es5插件步骤初始化环境npminit-y首先安装babel组件npminstall@babel/cli@babel/core@babel/preset-envbabel-plugin-transform-es2015-modules-umd-D配置babel,.babelrc(babel配置文件){“presets”:[“@babel/preset-env”],”plugins”:[“transform-es2015-modules-umd”]}

    2026年3月11日
    4
  • SynchronousQueue同步队列

    SynchronousQueue同步队列SynchronousQueue简介Java6的并发编程包中的SynchronousQueue是一个没有数据缓冲的BlockingQueue,生产者线程对其的插入操作put必须等待消费者的移除操作take,反过来也一样。不像ArrayBlockingQueue或LinkedListBlockingQueue,SynchronousQueue内部并没有数据缓存空间,你不能调用peek()方…

    2022年6月22日
    28

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号