在代码中使用stroyboard中的ViewController
来源:互联网 发布:nginx 图片服务器配置 编辑:程序博客网 时间:2024/05/21 22:22
如果遇到在storyboard中可以正常使用的ViewController,但是用代码中无法正常使用,总是会提示VC中的outlet未初始化,是nil,或者tableview中的cell提示没有注册,那么可以查看本文寻求合理的解决方式
(实训中遇到的问题)
首先持有一个storyboard的对象,假设我们使用的是Main.storyboard
let stb = UIStoryboard.init(name: "Main", bundle: nil)`
中有一个VC叫做MainViewController
那么我们拿到它,使用
let ma = stb.instantiateViewController(withIdentifier: "MainTableViewController")
这个地方一定要注意,这个withIdentifier的参数,填写的是你在storyboard中Storyboard ID属性中填写的内容。
以下是官方API的提示
这样就初始化好了。
追究其深层次的原因,我想是代码初始化一个VC和用storyboard初始化一个VC执行的方法是不一样的。用代码的话是执行它的init()
方法,而在storyboard中是awakeFromNib()
方法。这两个构造方法的不同,是导致上述现象出现的可能原因。
0 0
- 在代码中使用stroyboard中的ViewController
- XMG 静态单元格的搭建(静态表格只能用在stroyBoard中,xib中无法使用)
- 如何在ViewController中使用AppDelegate
- Swift Stroyboard 中代码写界面的跳转
- 在ViewController中添加n个子ViewController
- iOS代理实现tableViewCell中的button在viewController中响应
- 代码装载storyboard中的viewcontroller
- 代码获取Storyboard中的ViewController
- 代码取得storyboard中的viewcontroller
- iOS开发-新版Xcode在Appdelegate中通过代码控制跳转,不使用系统默认跳转到默认ViewController
- IOS中ViewController中的loadView方法使用注意
- 在ViewController中使用自定义Notification处理applicationWillTerminate
- 在ViewController中使用自定义Notification处理applicationWillTerminate
- iOS 7:在一般的 ViewController 中使用static cell
- IOS开发 如何给ViewController添加stroyboard entry pointer?
- 在Storyboard中获取Viewcontroller
- 在viewController中隐藏statusBar
- iOS 在TabViewController中的一个ViewController跳转到另一个ViewController
- 贪吃蛇系列终章----贪吃蛇专家智能bug修复版
- 5月4日,ArrayTranspose,每日20行。
- 带你分析字节码-深入理解class(二)
- (一)U-Boot启动过程--详细版的完全分析
- 《Android群英传》笔记1——Android系统架构
- 在代码中使用stroyboard中的ViewController
- 使用MySQL数据库
- 文件基本操作(matlab)
- 5.4
- perl文件句柄的理解(tell、seek)以及文本多行匹配的一种算法
- KNN原理+python实现
- 练习
- 使用 CAS 在 Tomcat 中实现单点登录
- 需要进行数据类型转换的常用语句