iOS开发入门:nib、xib与故事板的关系

nib、xib与故事板

如果大家使用过苹果的官方资料,一定会发现某些资料上会提到nib文件,那么nib与xib是怎样的一种关系呢?

最初只有nib文件,后来将其更名为xib,但大家一直沿袭nib这个叫法(即称xib文件为nib文件),所以目前为止,nib等同于xib。xib文件采用xml格式。

前文已提到故事板是用来替代xib的,那么两者除后缀名外,还存在哪些差异呢?

首先,在数量上,使用故事板技术时,一个工程只有一个故事板文件。当使用xib技术时,xib在数量上与视图控制器相对应,而一个工程可能会有很多视图控制器,相应地就会有很多xib文件。

其次,故事板与视图的关系可以在IB设计器中很明显地体现,而xib与视图的关系则需要查看相关代码或利用其他资源。下面我们来举例说明。

我们要做这样一个应用:两个不同的画面,有两个标签分别与其对应,点击标签两个画面实现互相切换,该应用采用标签栏导航模式,设计原型草图见图

开发入门:nib、xib与故事板的关系-">

选择Tabbed Application模板,分别采用xib和故事板文件实现

可以看到采用xib技术的时候两个画面有两个xib文件,而采用故事板时候两个画面只有一个MainStoryboard.storyboard文件

打开MainStoryboard.storyboard文件。

应用包含两个视图,两个视图存在切换关系,这些信息从上图中一目了然。事实上故事板是多个xib文件集合的描述文件,也采用xml格式。

需要特别提出的是,虽然苹果官方主张使用故事板,但最正确的做法是我们要根据具体情况、具体问题对故事板和xib做以取舍,而不是一概而论。当应用 数据量很大、画面很多、关系很复杂的时候,如果使用storyboad技术,那我们在IB设计器中的工作就会变得庞大而复杂,除此之外整个工程的性能也会 受到一定影响。

本文出自 “关东升” 博客,请务必保留此出处http://2009315319.blog.51cto.com/701759/1126412

时间: 2024-08-03 12:38:31

iOS开发入门:nib、xib与故事板的关系的相关文章

iOS开发入门:创建基于故事板的iOS 6的Hello World

基于故事板的HelloWorld工程 Storyboard(故事板)是用来替代xib的技术,也是iOS 5最重要的新特性之一.我们用Storyboard(故事板)重构HelloWorld. 使用故事板重构HelloWorld 勾选"Use Storyboards"项. 工程创建完成之后,通过导航进入MainStoryboard.storyboard 开发入门:创建基于故事板的iOS 6的Hello World-vc6 hello world"> 添加Label控件 本文

iOS开发那些事--nib、xib与故事板的关系

nib.xib与故事板 如果大家使用过苹果的官方资料,一定会发现某些资料上会提到nib文件,那么nib与xib是怎样的一种关系呢? 最初只有nib文件,后来将其更名为xib,但大家一直沿袭nib这个叫法(即称xib文件为nib文件),所以目前为止,nib等同于xib.xib文件采用xml格式. 前文已提到故事板是用来替代xib的,那么两者除后缀名外,还存在哪些差异呢? 首先,在数量上,使用故事板技术时,一个工程只有一个故事板文件.当使用xib技术时,xib在数量上与视图控制器相对应,而一个工程可

iOS开发那些事--创建基于故事板的iOS 6的HelloWorld

基于故事板的HelloWorld工程 Storyboard(故事板)是用来替代xib的技术,也是iOS 5最重要的新特性之一.我们用Storyboard(故事板)重构HelloWorld. 使用故事板重构HelloWorld 勾选"Use Storyboards"项. 工程创建完成之后,通过导航进入MainStoryboard.storyboard   添加Label控件

iOS开发入门:简单表视图

表视图是iOS开发中使用最频繁的视图,我们一般都会选择以表的形式来展现数据,比如通讯录.频道列表等.表视图分段.分组.索引等功能使我们所展 示的数据看起来更规整更有调理,更令人兴奋的是表视图还可以利用细节展示等功能多层次的展示数据,正所谓一表胜千言.  不过,相较于其它控件表视图的使用比较复杂,但是对比于表视图各种灵活多变的功能,我们在使用上花费的努力还是相当值得的. 简单表视图 表视图的形式灵活多变,本着由浅入深的原则,我们先从简单表视图开始学习.本节讲的简单表视图是动态表,(iOS 5之前全

《iOS 9 开发指南》——第1章,第1.1节IOS开发入门

第1章 IOS开发入门 iOS 9 开发指南 iOS是一个强大的系统,被广泛地应用于苹果公司的系列产品iPhone.iPad和iTouch设备中.iOS通过这些移动设备展示了一个多点触摸界面及众多内置传感器的界面.本章将带领大家认识iOS系统,为读者步入本书后面知识的学习打下基础. 1.1 iOS系统介绍 iOS 9 开发指南 图片 1 知识点讲解:光盘:视频\知识点\第1章\ iOS系统介绍.mp4 iOS是由苹果公司开发的手持设备操作系统.苹果公司最早于2007年1月9日的Mac World

iOS开发入门:关于性能优化–选择nib还是故事板的讨论

故事板是苹果在iOS5之后推出的技术,本意是集成多个nib文件于一个故事板文件,管理起来方便,故事板还能反应控制器之间的导航关系,很多导航是需要连连线就可以了,不需写代码,使用起来很方便.但是我告诫读者,从内存占用角度看故事板不是一个好的技术. 为了比较我们使用Xcode中的Master-Detail模板分别创建,基于故事板的应用StoryboardDemo和基于nib的应用 NibDemo.然后通过Instruments工具的Allocations模板分析ViewController视图控制器

iOS开发入门:创建基于nib的iOS 6的Hello World工程

创建基于nib的HelloWorld工程 开发入门:创建基于nib的iOS 6的Hello World工程-maven helloworld工程"> 创建工程 启动Xcode,点击File→New→Project菜单,在打开的Choose a template for your new project界面中,选择Single View Application工程模板 然后点击Next按钮,随即出现界面.

iOS开发入门:自定义单元格实现

自定义单元格 当苹果公司提供给的单元格样式不能我们的业务需求的时候,我们需要自定义单元格.在iOS  5之前,自定义单元格可以有两种实现方式:代码实现和用xib技术实现.用xib技术实现相对比较简单,创建一个xib文件,然后定义一个继承 UITableViewCell类单元格类即可.在iOS 5之后我们又有了新的选择,故事板实现方式,这种方式比xib方式更简单一些. 我们把简单表视图案例的原型图修改一下,这种情况下四种内置的单元格样式就不合适了. 开发入门:自定义单元格实现-"> 采用&q

iOS开发入门:OCUnit测试框架

使用OCUnit测试框架iOS单元测试框架 原则上,是否使用测试框架都不会影响单元测试结果,但是"工欲善其事,必先利其器"使用单元测试框架更便于我们测试和分析结果. 主要的iOS单元测试框架有: OCUnit,是开源测试框架,与Xcode工具集成在一起使用非常方便,测试报告以文本形式输出到输出窗口: GHUnit,是开源测试框架,它可以将测试报告以应用形式可视化输出到设备或模拟器上,也可以以文本形式输出到输出窗口:GHUnit可以测试OCUnit编写的测试用例: OCMock,是开源测