首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

didReceiveMemoryWarning iOS开发

因此处理的主要工作是在viewController。 我们知道,创建viewcontroller时,执行顺序是loadview -> viewDidLoad。...当重新显示该viewController时,执行过viewDidUnLoad的viewcontroller(即原来在后台)会重新调用loadview -> viewDidLoad。...这个方法的默认实现是这样:先寻找有关可用的nib文件的信息,根据这个信息来加载nib文件,如果没有有关nib文件的信息,默认实现会创建一个空白的UIView对象,然后让这个对象成为controller的主...二、viewDidLoad 这个函数在controller加载了相关的views后被调用,而不论这些views存储在nib文件里还是在loadView函数中生成。...四、结论 所以流程应该是这样: (loadView/nib文件)来加载view到内存 ——>viewDidLoad函数进一步初始化这些view ——>内存不足时,调用viewDidUnload函数释放

2.6K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    iOS-关于加载xib

    是重量级的,用来描述整个软件的多个界面,并且能够展示多个界面的跳转关系 加载xib xib文件在编译的后会变成nib文件 xib文件.png 第一种加载方式 NSArray * xibArray = [...UINib *nib = [UINib nibWithNibName:NSStringFromClass(self) bundle:nil]; NSArray *xibArray = [nib instantiateWithOwner...,如果有就去加载(XXViewController.xib) 控制器类名同名的xib 第二步:寻找有没有和控制器类名同名但是不带Controller的xib,如果有就去加载(XXView.xib)...- (void)viewDidLoad { [super viewDidLoad]; CustomViw *customView = [[CustomViw alloc] init];...} @end log打印 通过init方法初始化自定义控件log打印 通过加载xib方法初始化自定义控件 @implementation ViewController - (void)viewDidLoad

    25510

    iOS对UIViewController生命周期和属性方法的解析

    从归档初始化 - (instancetype)initWithCoder:(NSCoder *)coder; //加载视图 -(void)loadView; //将要加载视图 - (void)viewDidLoad...2:init方法和initCoder方法相似,只是被调用的环境不一样,如果用代码进行初始化,会调用init,从nib文件或者归档进行初始化,会调用initCoder。...注意:经过测试,从nib文件加载的controller,只要不释放,在每次viewWillAppare时都会调用layoutSubviews方法,有时甚至会在viewDidAppare后在调用一次layoutSubviews...三、从storyBoard加载UIViewController实例的传值陷阱         我们知道,当我们从StoryBoard中加载ViewController时,我们在Controller中拖拽的视图是可以被初始化的...我们可以把它连接到viewController2中的一个按钮上: ? 这样,当我们点击viewController2中的按钮时,就会返回到我们第一个ViewController1中了。

    3K20

    UIViewController的生命周期及iOS程序执行顺序

    代码的执行顺序 1、alloc 创建对象,分配空间 2、init (initWithNibName) 初始化对象,初始化数据 3、loadView从nib载入视图,通常这一步不需要去干涉。...viewDidAppear视图已在屏幕上渲染完成 当一个视图被移除屏幕并且销毁的时候的执行顺序,这个顺序差不多和上面的相反 1、viewWillDisappear视图将被从屏幕上移除之前执行 2、viewDidDisappear...视图已经被从屏幕上移除,用户看不到这个视图了 3、dealloc视图被销毁,此处需要对你在init和viewDidLoad中创建的对象进行释放 关于viewDidUnload:在发生内存警告的时候如果本视图不是当前屏幕上正在显示的视图的话...但是要注意,这个方法只会在APP刚开始加载的时候调用一次,以后都不会再调用它了,所以只能用来做初始设置。...他们都可以用来在视图载入的时候,初始化一些内容。 但是他们有什么区别呢? viewDidLoad 此方法只有当view从nib文件初始化的时候才被调用。

    1.9K110

    awakeFromNib小总结

    大家好,又见面了,我是全栈君 awakeFromNib 在使用IB的时候才会涉及到此方法的使用。...当.nib文件被载入的时候,会发送一个awakeFromNib的消息到.nib文件里的每一个对象,每一个对象都能够定义自己的awakeFromNib函数来响应这个消息。运行一些必要的操作。...看样例: 创建一个viewController with XIB 定义一个UIView的子类 打开xib,并把View的类型指定为上一步骤定义的子类 然后在TestView.m中增加 awakeFromNib...当程序对Nib文件进行反序列化然后初始化时,会调用一次awakeFromNib。 可是假设你使用initWithNibName调入Nib时,awakeFromNib是不会被调用的。...第五句:首先结束后,view之后,呼叫处理好viewDidLoad该,所以无论从代码或从IB载入中view应该调用viewDidLoad的。

    46410

    UIViewController生命周期

    通过Nib文件加载: Nib文件其实就是xib文件,Storyboard相当于是聚合了多个nib文件,并且添加了对不同的UIViewController之间的segue和relationship...init里不要掉self.view,否则会导致viewcontroller创建view。(因为view是lazyinit的)。...2、ViewDidLoad loadView方法执行完之后,就会执行viewDidLoad方法。此时整个视图层次(view hierarchy)已经被放到内存中。...无论是从nib文件加载,还是通过纯代码编写界面,viewDidLoad方法都会执行。我们可以重写这个方法,对通过nib文件加载的view做一些其他的初始化工作。...合创建一些附加的view和控件 3、ViewWillAppear 在视图加载完成,并即将显示在屏幕上时,会调用viewWillAppear方法,在这个方法里,可以改变当前屏幕方向或状态栏的风格等。

    2K10

    Core Animation实战一(认识图层CALayer)

    你可能认为它只是用来做动画的,但实际上它是从一个叫做Layer Kit这么一个不怎么和动画有关的名字演变而来,所以做动画这只是Core Animation特性的冰山一角。     ...Core Animation是一个复合引擎,它的职责就是尽可能快地组合屏幕上不同的可视内容,这个内容是被分解成独立的图层,存储在一个叫做图层树的体系之中。...于是这个树形成了UIKit以及在iOS应用程序当中你所能在屏幕上看见的一切的基础。 认识CALayer 创建Layer和Layer的基本几个简单的属性,不好说明的以后会单独拿出来做例子。...ViewController { CALayer * yellowLayer; } - (void)viewDidLoad { [super viewDidLoad];...// Do any additional setup after loading the view, typically from a nib.

    43410
    领券