UIViewController的初始化
UIViewController的初始化一般有两个:
-(instancetype)init;
-(instancetype)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil;
而init会调用initWithNibName:bundle:,因此基本上只使用后者作为初始化入口。
这两个初始化作用一般仅用于一些数据的初始化,而不涉及到视图的初始化,因此正常情况下,调用完初始化方法后,self.view还是nil.
仅在第一次以获取的方式访问self.view时,会触发loadView,如果子类实现了loadView,则通过调用子类loadView来初始化视图;
否则,loadView会查找nib文件(根据之前初始化时传入的nib文件名或者使用默认nib文件名)并加载;如果查找失败,loadView会创建一个空的View对象。
loadView结束后会调用viewDidLoad,但是不保证当前self.view非空(可能用户实现loadView时忘记对self.view赋值)。
UIViewController的初始化的更多相关文章
- iOS开发之视图控制器(UIViewController)
视图控制器应该在MVC设计模式中扮演控制层(C)的角色,UIViewController的职责对内管理与之关联的View,对外跟其他UIViewController通信和协调.一个视图控制器管理一个视 ...
- 你真的了解UINavigationController吗?
一:首先查看一下关于UINavigationController的定义 NS_CLASS_AVAILABLE_IOS(2_0) @interface UINavigationController : ...
- ios蓝牙开发(四)app作为外设被连接的实现-转发
代码下载: 原博客中大部分示例代码都上传到了github,地址是:https://github.com/coolnameismy/demo. 再上一节说了app作为central连接periphera ...
- IOS 蓝牙相关-app作为外设被连接的实现(3)
再上一节说了app作为central连接peripheral的情况,这一节介绍如何使用app发布一个peripheral,给其他的central连接 还是这张图,central模式用的都是左边的类,而 ...
- UINavigationController 导航控制器 ,根据文档写的一些东西
今天讲了导航控制器UINavigationController 和标签栏视图控制器UITabBarController 先来说一说导航视图控制器 UINavigationController 导航控 ...
- ios蓝牙开发(三)app作为外设被连接的实现
再上一节说了app作为central连接peripheral的情况,这一节介绍如何使用app发布一个peripheral,给其他的central连接 还是这张图,central模式用的都是左边的类,而 ...
- iOS UISearchDisplayController学习笔记
UISearchDisplayController和UISearchBar一起使用用来管理UISearchBar和搜索结果的展示.UISearchDisplayController提供了显示搜索结果的 ...
- oc 与 js交互之vue.js
- .vue.js 调用oc的方法并传值 vue.js 组件中调用方法: methods: { gotoDetail(item){ //此方法需要在移动端实现,这里可以加入判断 ...
- iOS 新浪微博-2.0 搜索框/标题带箭头/下拉菜单
不管是搜索框还是下拉菜单,我们都需要对背景的图片进行拉伸.定义一个Category分类对图片进行操作. UIImage+Effect.h #import <UIKit/UIKit.h> @ ...
随机推荐
- Leetcode题库——5.最长回文子串
@author: ZZQ @software: PyCharm @file: longestPalindrome.py @time: 2018/9/18 20:06 要求:给定一个字符串 s,找到 s ...
- 四则运算App--大总结(已完成)
1. 贡献分分配(20分) 欧泽波:14分,Android的学习,代码的编写,等等 杨洁华:1分,提供学习资料,框架的设计等等 赵泽嘉:3分,提供学习资料,框架的设计等等 林扬滨:2分,提供学习资料, ...
- git学习-综合性文章
文章:[转载]理解 Git 分支管理最佳实践 首先介绍了git各种分支:
- 【我的python之路】
目录 我的python之路[第一章]字符编码集,数据类型 我的python之路[第二章]循环-内置方法-数据类型 我的python之路[第三章]函数 我的python之路[第四章]装饰器.生成器.迭代 ...
- Visual Studio发展历程初浅调研
名称 内部版本 发布日期 支持.NET Framework版本 核心功能 竞争对手 优缺点 Visual C++ 1.0 Visual Studio的最初原型 1992 把软件开发带入了可视化开发的时 ...
- 微信小程序Mustache语法
小程序开发的wxml里,用到了Mustache语法.所以,非常有必要把Mustache研究下. 什么是Mustache?Mustache是一个logic-less(轻逻辑)模板解析引擎,它是为了使用户 ...
- 模拟alert,confirm 阻塞状态
/*** * 模拟alert弹窗 * content 为弹框显示的内容 * 确定按钮对应的下面取消关闭显示框 * **/function oAlert(content) { var oWrap = $ ...
- 6/6 sprint2 看板和燃尽图的更新
- 【Leetcode】82. Remove Duplicates from Sorted List II
Question: Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only dis ...
- java.io.FileNotFoundException: generatorConfig.xml (系统找不到指定的文件。)
在使用MyBatis的逆向工程生成代码时,一直报错java.io.FileNotFoundException: generatorConfig.xml (系统找不到指定的文件.),如图 文件结构如下: ...