nib:NeXT Interface Builder的缩写

xib:XML nib的缩写

相同点:

  nib和xib都是Interface Builder的图形界面设计文档。Interface Builder把窗口、菜单栏以及窗口上的各种控件的对象都“冻结”在一个nib文档里;当程序运行时,这些对象就会“苏醒”;

不同点:

  nib为二进制文件,xib为纯文本文件,采用xml格式,后者方便于版本控制和diff;

传承:

最开始只有nib,后来将其更名为xib,但是一直沿袭nib这个叫法;

storyboard是同来替代xib的;

storyboard的优势:

1、使用storyboard,一个工程只有一个storyboard文件;当使用xib时,xib在数量上和控制器相对应,即如果工程有多个视图控制器,就会有多个xib文件;

2、storyboard与视图的关系可以在IB设计器中很明显地体现,而xib与视图的关系则需要查看相关代码;

当应用数据量很大、画面很多、关系很复杂的时候,如果使用storyboard,那么在IB设计器中的工作就会变得十分复杂,除此之外,整个工程的性能也会受到影响;

另外团队合作也不方便,因为storyboard的合并会很麻烦;

(这就是为啥看到公司的几乎都是代码实现,而没有使用storyboard)

nib、xib、storyboard(故事板)的更多相关文章

  1. iOS系列 基础篇 02 StoryBoard 故事板文件

    iOS基础 02 StoryBoard 故事板文件 目录: 1. 故事板的导航特点 2. 故事板中的Scene和Segue 3. 本文最后 在上篇HelloWorld工程中有一个Main.storyb ...

  2. [Xcode 实际操作]九、实用进阶-(23)多个Storyboard故事板中的页面跳转

    目录:[Swift]Xcode实际操作 本文将演示多个Storyboard故事板中的页面跳转. 使用快捷键[Command]+[N]创建一个新的故事板文件. (在项目文件夹[DemoApp]上点击鼠标 ...

  3. [Xcode 实际操作]九、实用进阶-(22)Storyboard故事板的常用布局结构

    目录:[Swift]Xcode实际操作 本文将演示如在使用故事板搭建项目时,常用的一种故事板布局结构. 在项目导航区,打开故事板文件[Main.storyboard] 当前故事板中只有一个视图控制器控 ...

  4. 【编程技巧】 iOS 5的StoryBoard(故事板)的一些用法

    从StroyBoard得到一个View UIViewController *viewController = [[UIStoryboard storyboardWithName:@"Main ...

  5. 如何用代码组织多个Storyboard(故事板)

    1. 新建一个Storyboard取名为OtherStoryboard.storyboard 2. 使用下面代码加载 UIStoryboard *newStoryboard = [UIStoryboa ...

  6. 故事板(Storyboard)

    1 使用Storyboard完成各项常见功能 1.1 问题 故事板Storyboard是IOS5开始引入的一个新的系统,将多个视图文件(类似xib文件)集中到一个单独的可视化工作区间,负责创建和管理所 ...

  7. (译)Getting Started——1.2.4 Tutorial:Storyboard(故事板)

    该教程是基于你在前面的课程中构建的项目上进行的.学完本教程后,你将使用你前面学到的视图.视图控制器.动作.导航的内容,还会为应用创建一些关键的用户界面,并在场景中添加行为 以下就是本节课的内容: 1. ...

  8. Swift - 故事板storyboard的用法

    故事板(UIStoryboard)可以很方便的进行界面的设计,下面总结了常用的几个操作方法: 1,初始场景 选中View Controller,在属性面板里勾选Is Initial View Cont ...

  9. WPF动画——故事板(Storyboard)

    1.XAML代码 <Window x:Class="故事板.MainWindow" x:Name="window" xmlns="http:// ...

  10. iOS 5 故事板入门(4)

    原文: http://www.raywenderlich.com/5138/beginning-storyboards-in-ios-5-part-2 让 AddPlayer 窗口动起来 现在,我们先 ...

随机推荐

  1. bzoj 3996: [TJOI2015]线性代数【最小割】

    把转置矩阵看成逆矩阵吓傻了233 首先按照矩乘推一下式子: \[ D=\sum_{i=1}^n a[i]*(\sum_{j=1}^n a[j]*b[j][i])-c[i] \] \[ D=(\sum_ ...

  2. MySQL--表操作1

    这是对自己学习燕十八老师mysql教程的总结,非常感谢燕十八老师. 依赖软件:mysql 系统环境:win 注:本次所有命令都是在命令行上执行 数据库的四大天王操作:增删改查 增删改查都是在对表进行操 ...

  3. .Net Core应用框架Util介绍(二) 转

    Util的开源地址 https://github.com/dotnetcore/util Util的开源协议 Util以MIT协议开源,这是目前最宽松的开源协议,你不仅可以用于商业项目,还能把Util ...

  4. POJ-3159-Candies-(差分约束,Dijkstra)

    链接:https://vjudge.net/problem/POJ-3159 题意: N个小孩,M个约束 以A,B,C给出.即小孩B的糖果不能比A多C以上. 思路: 差分约束: 若有 A-B < ...

  5. hdu6311( 2018 Multi-University Training Contest 2)

    bryce1010模板 http://acm.hdu.edu.cn/showproblem.php?pid=6311 从dls思路中,我整理一下自己的思路: 1.首先也是建图 2.建图结束后,一个df ...

  6. C/S 和 B/S 架构

    浏览器/服务器结构.它是C/S架构的一种改进,可以说属于三层C/S架构. 比较大的差别1.结构 C/S是两层架构,由客户端和服务器组成,而B/S是三层架构,由浏览器,WEB服务器和数据库服务器组成. ...

  7. [在读]Secrets of the javascript Ninja

    很棒的一本,可惜没有中文版.

  8. Linux--NiaoGe-Service-06

    Linux网络排错 思路: 硬件问题: 首先排除硬件故障,包括网线.Hub.Switch.Router.网卡.设备配置规则等等. 软件问题: 1.网卡的IP/Netmask设置错误 IP.Netmas ...

  9. ActiveMQ与RocketMQ对比

      ActiveMQ RabbitMQ RocketMq ZeroMQ 关注度   高 高 中 中 成熟度   成熟 成熟 比较成熟 不成熟 所属社区/公司 Apache  MozillaPublic ...

  10. AQS及其前置知识总结

    CLH队列锁 及自旋锁 乐观锁及CAS 独占锁与共享锁 LockSupport与wait ,join和notify 这里截取内部类Node的部分代码,节点的状态值如下: /** waitStatus ...