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

不使用NIB和使用NIB,从生命的开始到结束的ViewController的生命周期功能的完整列表?

不使用NIB和使用NIB是指在iOS开发中创建ViewController时是否使用Interface Builder(IB)来设计界面。下面是从生命周期的开始到结束的ViewController的功能完整列表:

  1. init方法:初始化ViewController对象。
  2. loadView方法:加载视图,如果不使用NIB,则需要在此方法中手动创建和设置视图。
  3. viewDidLoad方法:视图加载完成后调用,可以进行一些初始化操作,如设置背景颜色、添加子视图等。
  4. viewWillAppear方法:视图即将显示时调用,可以进行一些准备工作,如更新数据、注册通知等。
  5. viewDidAppear方法:视图已经显示时调用,可以进行一些动画效果的展示或者网络请求等。
  6. viewWillDisappear方法:视图即将消失时调用,可以进行一些清理工作,如取消网络请求、注销通知等。
  7. viewDidDisappear方法:视图已经消失时调用,可以进行一些资源释放或者停止动画等。
  8. didReceiveMemoryWarning方法:内存警告时调用,可以释放一些不必要的资源,避免应用崩溃。
  9. deinit方法:释放ViewController对象,可以在此方法中进行一些清理操作。

使用NIB时,可以通过Interface Builder来设计和配置视图,减少了代码量,提高了开发效率。同时,还可以使用IBOutlet和IBAction来连接视图和代码,方便进行事件处理和界面更新。

推荐的腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

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

iOS中UIViewController是UIKit框架中最基本一个类。第一个UI视图复杂完整项目,都离不开UIViewController作为基础。...这篇博客,旨在讨论UIViewController生命周期属性方法,在最基础东西上,往往会得到意想不到惊喜。...二、UIViewController生命周期         要了解UIViewController,先要弄清楚其生命周期。...在面向对象语言中,是对象,就一定要有生命周期,UIViewController也例外,生命周期管理Controller作用范围时间,也管理其内对象作用范围时间。...3:loadView方法是开始加载视图起始方法,除非手动调用,否则在ViewController生命周期中没特殊情况只会被调用一次。

2.9K20
  • View编程指南(二)

    一个window对象有几个职责: 它包含您应用程序可见内容。 它在将触摸事件传递View其他应用程序对象中起着关键作用。...如果要更改显示内容,请改为改变window最前面的view。 大多数iOS应用程序在其生命周期中只创建并使用一个window。...该window横跨设备整个主屏幕,并在应用程序生命周期早期应用程序主要nib文件(或以编程方式创建)加载。...但是,您可以使用应用程序window对象来执行几个与应用程序相关任务: 使用window对象将点矩形转换为window本地坐标系或window本地坐标系进行转换。...例如,要安装由VC管理view,可以使用类似于以下内容代码: [window addSubview:viewController.view]; 代替上述代码,您可以在您nib文件中配置window

    80810

    iOS字符串本地化(APP 内本地化切换) 、nib本地化、图片本地化

    本地化字符串指定参数顺序(应用场景:app内多语言切换)【修订】 前言 使用本地化功能,可以轻松地将应用程序翻译成多种语言,甚至可以翻译成同一语言多种方言 如果要添加本地化功能,需要为每种支持语言创建一个子目录...当本地化应用程序需要载入某一资源时,如图像、属性列表nib文件,应用程序会检查用户语言和地区,并查找相匹配本地化文件夹。...(采用) 2、通过发通知,各个控制器更新文字(采用) 3.2 一个语言对应多个字符串资源文件方案 应用场景:解决部分英文国际化没有生效问题 存储国际化英文字符串.string文件长度受限,...NSLog(@"开始Localizable1 找key:%@", tmp); tmp =NSLocalizedStringFromTableInBundle...使用步骤: 首先添加获取字符串代码,比如在ViewController.m NSString *tip = NSLocalizedString(@"Tip", @"dialog title"

    1.6K30

    iOS SEL理解与使用

    有很多人,认为block推广可取代代理设计模式,其实block并不能取代代理,代理模式可以让代码逻辑性更强,更整洁,也会有更高可读性可扩展性。...比如,我们生命一个叫myLog函数指针: #import "ViewController.h" @interface ViewController () {     SEL myLog; } @end...有两种方式: 1、在编译时,使用@selector来取得函数 现在,我们应该明白@selector是什么了,它是一个编译标示,我们通过它来取到相应函数。...selector(click)];     [self.view addSubview:btn]; } -(void)click{     NSLog(@"点击了btn"); } 当然,如果要调用参数,系统提供默认参数超过两个...,如果参数很多,一种是我们可以通过字典传参,另一种方法比较复杂,在这里先讨论。

    79840

    awakeFromNib小总结

    大家好,又见面了,我是全栈君 awakeFromNib 在使用IB时候才会涉及到此方法使用。...当.nib文件被载入时候,会发送一个awakeFromNib消息.nib文件里每一个对象,每一个对象都能够定义自己awakeFromNib函数来响应这个消息。运行一些必要操作。...当程序对Nib文件进行反序列化然后初始化时,会调用一次awakeFromNib。 可是假设你使用initWithNibName调入Nib时,awakeFromNib是不会被调用。...} 第二句:initWithcoder是系统自己主动调用,以后说!!! 第三句第四句:这两局setNeedsDisplay会异步调用drawRect来更新view内容。...第五句:首先结束后,view之后,呼叫处理好viewDidLoad该,所以无论代码或IB载入中view应该调用viewDidLoad

    43610

    didReceiveMemoryWarning iOS开发

    iPhone下每个app可用内存是被限制,如果一个app使用内存超过20M,则系统会向该app发送Memory Warning消息。...因此处理主要工作是在viewController。 我们知道,创建viewcontroller时,执行顺序是loadview -> viewDidLoad。...这个方法默认实现是这样:先寻找有关可用nib文件信息,根据这个信息来加载nib文件,如果没有有关nib文件信息,默认实现会创建一个空白UIView对象,然后让这个对象成为controller主...网上对这个函数描述含含糊糊,看了等于没看。 另外:如果controller存储了其他objectview引用,你还得在dealloc方法中释放这些内存。...四、结论 所以流程应该是这样: (loadView/nib文件)来加载view内存 ——>viewDidLoad函数进一步初始化这些view ——>内存不足时,调用viewDidUnload函数释放

    2.5K30

    【iOS 开发】iOS 开发 简介 (IOS项目文件 | MVC 模式 | 事件响应机制 | Storyboard 控制界面 | 代码控制界面 | Retina 屏幕图片适配)

    .m .h 后缀文件; -- 界面设计文件 : Main.storyboard 是界面设计文件, 原来使用nib 界面设计文件, storyboard 是新版本使用; -- Supporting...:  -- PlaceHolder 列表区 : 包括 File's Owner First Responder 两个文件; -- Objects 列表区 : 保存界面布局文件中 UI 控件实例;..., Objects 列表区可以看到所有的 UI 控件; (4) xib nib 文件 xib nib 后缀文件 :  -- 新旧区别 : nib 后缀是传统格式, xib 后缀是新格式; --...nib 文件;  -- nib 文件 : Interface Builder 把窗口, 菜单栏 以及 各种 UI 组件都冻结在 nib 文件中, 使用 nib 界面设计文件, 这些 UI 控件对象已经被创建好...; -- 数据交换 : 获取委托对象, 可以向其中存取数据, 可以作为 IOS 应用通信中心, 程序组件之间通过委托对象进行数据交互; -- 处理生命周期事件 : 应用程序委托对象还处理 IOS 应用各种生命周期事件

    4.9K30

    Objective-c 知识总结 -- @property

    属性声明初现版本 属性声明是 Objective-C 2.0 新增功能; @property 是编译器指令,@property 完成工作就是属性声明; 2. 属性声明概念 属性?... Xcode 4.4 开始,当我们用 @property 进行属性声明时候,编译器就会自动帮我们生成相应 实例变量 + 存取方法声明 + 存取方法实现; 那什么情况下会破坏这种自动合成过程呢?...= nil; // } // @end null_unspecified(_Null_unspecified) 不确定是否为空; _Null_unspecified 是 Xcode 6.3 开始使用...,null_unspecified Xcode 8 开始使用,并能写进 @property 选项列表中; Ep【 Xcode 7, iOS 9】: #import "ViewController.h".../** * 移除实例对象所有关联值 * * @param object 实例对象 * * @note 这个方法核心目的是为了方便让实例对象所有关联值还原初始状态;你不应该使用此方法来对一个关联值进行还原

    1.4K31

    【IOS开发基础系列】Storyboard专题

    你可以 Object Library中拖控件(右下角)viewcontroller 中,并修改它布局。...,应用程序委托必须 UIResponder 开始继承(原先则直接NSObject继承),同时还有一个 UIWindow 属性(不同是,它不是一个IBOutlet)。         ...在以前,如果你要定制表视图单元格,你要么在代码中向cell对象添加自己 subviews ,要么新建一个 nib 然后nib 中加载你自己 cell。...拖两个 Label Cell 中,将它们放置大致等于原先所在位置。随意修改它们字体颜色。将两个label高亮色为白色。...如果你连接 cell 上一个Label ViewController IBOutlet上,那么会有多个Label 在试图使用相同 IBOutlet。那就麻烦了。

    1K30

    iOS应用构建与部署小结

    好我们今天文章就这样结束了,… 才怪!...Apple Configurator 2 Apple Configurator 2是苹果公司提供一个部署配置工具,可以直接AppStore下载。...OTA部署 OTA部署支持使用HTTPS方式部署分发你ipa包,一个示例OTA链接地址如下: itms-services://?...个人建议直接使用源码编译而不是npm安装。 后记 本文开发者角度,介绍了iOS应用创建、编译、打包、测试、部署等方面, 从零开始构建并运行我们第一个iOS程序。...既介绍了模拟器安装测试方式, 也介绍了物理机上打包部署过程。其中很多地方尽可能使用命令行去运行, 这有利于后续自动化操作,也有利于我们理解各个选项所使用参数作用。

    2K40

    制作动态framework与静态framework那些坑

    今天我们来看看制作framework---dynamicstatic这两中库需要注意 1 基本framework配置 配置(如下图)选择dynamic library ?...我们使用xib方式创建了tableViewcell以及一个viewcontroller 3 需要暴漏给外部使用h文件 好了基本工程已经出来了,现在我们来看看怎么玩这两种形式framework...对于这个库其实我们可以选择为Option形式,这样的话App启动时它是不会载入,只有当使用到时才会动态检测载入(这也是为啥称之为动态库啦),也正是因为此,我们main bundle中包含xib编译后...采用路径方式查询资源,我们就按照路径拼接上资源所在bungle即可) 2 xib加载 对于xib这个资源比较特殊,虽然是静态库但是依然被编译成为了nib文件存放在framework中 同样App默认也是...其实啊,这个里面有个隐含问题:默认情况会搜素main bundle中医ViewController同名xib,而我们库需要加前缀才能定位,因此要手动使用加载nib方式创建我们Controller

    2K20

    App生命周期

    UIViewController 生命周期 // 非storyBoard(xib或非xib)都走这个方法 - (instancetype)initWithNibName:(NSString *)nibNameOrNil...awakeFromNib 当awakeFromNib方法被调用时,所有视图outletaction已经连接,但还没有被确定,这个方法可以算作适合视图控制器实例化配合一起使用,因为有些需要根据用户喜好来进行设置内容...loadView 当执行loadView方法时,如果视图控制器是通过nib创建,那么视图控制器已经nib文件中被解档并创建好了,接下来任务就是对view进行初始化。...因此loadView方法在视图控制器生命周期内可能被调用多次。...UIView 生命周期 - (instancetype)init { if (self = [super init]) { NSLog(@"%s",__func__);

    1.3K10
    领券