红衣公公,StoryBorad也会逐年突显出它的魅力

前言

做iOS开发的童鞋都应有会纠结一个难题,那就是在做开发的时候是选取StoryBoard依然拔取Nibs又或者是Code(纯代码流)呢?小编也不行纠结那个题材,明日碰巧在raywenderlich下面看到了几个大神之间的撕逼,哦不,啄磨之后,感觉拿到良多,于是就将她们谈谈的内容整理翻译了一晃,如有不当之处,还请多多原谅,原视频请戳这里

英文:raywenderlich
译文:伯乐在线专栏小编 – 陆熠十四 翻译
链接:http://ios.jobbole.com/88119/

讨论

Ray Wenderlich

Ok!现在大家都在线,感谢各位的过来,前天大家会有一个商量有关iOS开发的议论,是选项Storyboards、Nib依然Code,大家有八个志愿者,Cesare
Rocchi代表的是“Code爱好者”,Tammy Coron 代表的是“Nib爱好者”,Felipe
Laso 马尔斯etti代表的是“StoryBoard爱好者”,大家将从Cesare Rocchi起初

Cesare Rocchi

首先,code是相当清晰直观的,你可以一向望着代码,你不要求开辟拙劣的Nib文件,并且永不深切啄磨然后找出一些叶影参差因素到底关联了或者尚未提到,这么些都很傻;当您在付出一个大型项目标时候那种方法充裕的有用;当我从一个crazy
guy那里接手一个类型,这么些连串是用StoryBoard或者Nibs做的,最终我会用code重写所用的东西,你可以在StoryBoard或者Nibs设置好所有东西,可是最后你可以用代码重写所有的景况;比如你在一个nib文件之中安装了一个lable,当您运行那么些app的时候那一个lable看起来与您设置的不太一致,那是因为此外一个人在其后添加了一行代码改变了老大lable的习性

Tammy Coron

当听到他(Cesare
Rocchi)如此贬低Nib的时候让自己怒发冲冠,我当做一个顺序媛有很长一段时间了,我见过相当多的程序猿喜欢使用code的艺术来开发的;但就我个人而言,我是一个老大依赖于视觉的人,我爱不释手通过可视化的方法来开展编程,所以自己接纳使用Nibs;你恐怕会说拔取StoryBoard可以比使用Nibs看到更加多的事物,可是对自家来说,我并不爱好StoryBoard,因为StoryBoard能做的很单薄,尤其是当您在写一个大型项目标时候照旧您与此外的人合营的时候,倘使应用StoryBoard你将会把持有的UI都汇集在一个文本之中,这会促成协作变得不得了困难,合并上也会有不少的辛勤;StoryBoard上还有一个很大的难题不怕,它不允许你操作太多的质量,更加是在区其余View里面使用TableViewCells的时候,你不得以在StoryBoard里面收录它们,你也许可以成功不过会相比麻烦,而Nib要做起这么些会越加的大致;并且你不要想去在StoryBoard里自定义Controller或者是View,无论曾几何时想要做到那些你最好去行使Nib

对于code,我同意如果采用code要做过多的工作,必必要去了然Nib背后的代码,可是利用Nib你可以火速看到自己对元素操作的效应,即便采取code,你写好所有的要素,设置好它们的特性,再将它们增进到视图里面,你必需要在运行app之后才可以看出实际的机能,那是可怜紧要的作业,没有人在意代码到底长什么样,他们只会关怀app看起来何等,
最好的洞察措施就是运用Nib来做

So,我可能有点小震动,等自我冷静下来我会说得更好,XD

Raywenderlich

非常不错的理念,现在轮到最后一个人发言了,Felipe该你上了

Felipe Laso Marsetti

So,Cesare你就是个混蛋;Tammy并不曾让自己感到恼火,因为他敝帚千金可视化,而可视化就是未来,固然code很酷,可是可视化将会是前景,不错,Nib或许更为的酷尤其的即兴,不过未来必然是StoryBoard的全世界,它可以让您完了一些Nib与code做不到的政工,当你在集合代码或者联合Nib的时候你仍旧会遇上争持,每当你触碰Nibs,Xcode就会毫不理由的以为你转移了它,所以你要讲述那样的改观,因为Xcode认为它改变了,仅仅因为你看了它一眼

StoryBoard更好,不用再像Nib或者code那样工作,假若您利用code,你须要周转你的app,看布局是还是不是站得住,然后重临更改布局属性,再运行app来看作用,不断的双重,那样功能特其他低,或许使用Nib会有所革新,但是当你在做一个大型项目标时候,你会有三四十个ViewController,那样您恐怕就会有四五十个Nib文件,那会分外的讨厌,因为您要极度小心的做一些修改

不过StoryBoard不仅可以让你幸免写一大堆无聊的代码,甚至是防止那多少个要在Nib下写的代码,比如利用segue和unwind
segue,你可以因此一多元的delegate方法来传输数据,你能够安装转场动画,你居然足以自定义动画

世家都认为我们不得不在一个StoryBoard上边工作,不过实际上大家可以在不断一个StoryBoard下边工作;当我们在付出集团级客户端的时候,咱们日常都是3-5个人的团伙,大家会有10个StoryBoard,那很不错,因为你可以将逐条模块分开,比如about模块、反馈模块或者社交模块,你可以见到可视化的layout,为了防止旁人说StoryBoard变得更为大,越来越慢,你可以试着打开它,然后,boom~~,你可以精晓地领悟如何连接着怎样,什么要去哪儿,你可以命名你的segue,你可以享有不少的自定义,所有的这一体都预示着StoryBoard将会是鹏程

当然,Nibs和code是很有用的,而且我也提议在须求的时候去采纳Nibs和code,然而本人想说在Xcode中接纳StoryBoard是可怜便利的,那是苹果在用的事物,他们为StoryBoard做了丰富多的做事,它就是鹏程,并从未丰硕的凭据来验证StroyBoard很慢很臃肿或者其余,没有丰盛强劲的凭证来申明那部分;我强烈指出使用StoryBoard,当必要的时候你能够利用code或者nibs,不过自己指出您尽量防止去行使,因为StoryBoard才是王道

Raywenderlich

Awsome!分外棒的视角!So,接下去每个人都有一个火候为友好的见地举行分辨,那么,Cesare你有如何要说的啊?

Cesare Rocchi

额,首先,假若当你想要合并Nib或者StoryBoard的时候,那简直就是恐怖的梦,毫无意义,然后code要形成这一个是相当轻松的,作为一个项目总监,我得以知晓地见到今天代码都做了什么样修改,不过像Nib或者StoryBoard,我一筹莫展把握它究竟做了怎么,到底是修复了bug照旧促成了某一个功效

再有就是,你在一些时候也许会选拔Xcode的beta版本来举行工作,你驾驭Xcode在治本Nibs或者StoryBoard下边并没有那么的智能,当自己打开项目标时候,beta版的Xcode修改了一点文件,导致了颇具东西都没有了,那就意味着你打开StoryBoard之后怎么样都没有了,所以一切项目就完全崩溃了

其三点就是利用Nibs或者StoryBoard会减低我的工作功用,当自己在coding的时候,我喜爱保持自身的手放在键盘上面,而不用去打开一个nib文件然后去做一些提到,然后又将手放回键盘继续coding,那样会下跌我的工作效能;还有某些要提的就是,不止几次,尤其是在初步的时候,我会瞅着屏幕,尝试着找出是何人TMD给那么些特性设置了值,哪个人安装了x或者y,在何地或者是什么样设置的等等,That’s
all!

Raywenderlich

So,Cesare说使用code会让他的工作功能更高,Tammy你有何要说的吧?

Tammy Coron

额,当您望着nib文件的时候,你并不需求过多的去关爱那么多的属性,它们是怎么设置的以及它们怎么着的关联,当你利用nib工作的时候,你只要求将您的psd文件处理未来放到nib文件之中,那样你直接就可以见见功效,然后您再去关联代码,我想说的是使用nib一切都丰裕的长足

自家可以在app已毕未来深入到framework里面,在更加简单的时日里面,在那其中没有代码,只有可视化的要素,那样就足以长足的中肯到screen里,去看你的app是如何连接的,然后再去处理自己的代码;可是一旦你把整个都用代码来做将会充足的繁琐,要去设置那样这样的性质,oh
my
god,大约无聊死了,根本就是在浪费时间;我看不惯使用StoryBoard,使用StoryBoard的人似乎僵尸一样,一个big
boy不应有去行使StoryBoard,额,反正我就是不欣赏XD

Raywenderlich

So,Felipe你是那里最年轻的积极分子,你也不行喜欢僵尸,你有何样意见?

Felipe Laso Marsetti

额,我就是一个僵尸StoryBoard用户,我强烈提出使用StoryBoard,code是老大有须要的,有时候你不得不去写一些代码来达成那么些可视化已毕不了的工作,比如自定义UI,但是那个都不是常用的,半数以上时候使用StoryBoard就可以满足要求了;使用StoryBoard你可以分外方便的去设置元素属性,而不用去理会背后繁琐的代码;这所有的凡事都代表StoryBoard是前景,那是苹果在用的东西

终极我想说,越少的代码就表示越少的火候将bug引入到您的app里面,就恍如有500行自定义UI的代码,你可以将它们减弱到100行,那样你就可以避免掉400行并未须求的代码,那样可以减小bug,而且那样尤其不难的去维护您的代码,若是您是独自开发,那么使用code或许对您影响不大,不过一旦你从别人那边接手项目,你就只可以深远钻研这么些代码到底做了怎么着,是何等设置view的,什么继承了哪些,以及在nib里面有哪些,你仍旧无法使用nib去成立一个富有static
prototype
cells的tableview,你不可以不去创立一个tableview的子类,新建.h、.m、以及nib文件,然后再去创设cell的子类,再新建.h、.m、以及nib文件,然后那一个cells在tableview当中是独自的,那样你就不得不去新建一个又一个的cell;可是在StroyBoard里面,只须求一个tableview,20个cells,然后boom~~,太美好了,节省时间,让客户端更简便,更少的bug,而且一切都是在可视化下已毕的,你不用去不停的stop、run、stop、run,然后去看你的nib文件以及你的代码,僵尸赢了

Raywenderlich

正确的论据,有一点我不止听到的就是,使用可视化的User Interface
Designer,你可以幸免更加多的代码,能够削减bug,你们怎么看待这些视角?

Cesare Rocchi

额,在autolayout出现以前我会同意那么些观点,借使让自身对Interface
Builder举行打分(10分制),在过去我会给6分,当autolayout出现将来就唯有3分了,我越发恐怖在Xcode4.6下边举办工作,autolayout尝试着将持有的事物混合在联合,造成的情况就是您在界面上边不成难点,可是在日常情形下那不是您想要的,你或许是想要让您的视图更小或者是其余;我只可以承认autolayout在Xcode5之后有所改善,但自身对此并不是很感兴趣

Raywenderlich

苔米,Cesare很反感autolayout,你有怎样想说的吗?

Tammy Coron

自己一样也不是autolayout的狂热粉丝,我会尽量的将autolayout关闭掉,我在局地品种方面用过autolayout,但本身对autolayout提不起兴趣,你还能采纳Nib而不去行使autolayout,所以自己认为她的论证是无效的,抱歉XD

Raywenderlich

那就是说Felipe你是怎么对待autolayout的吗?

Felipe Laso Marsetti

不管你喜不喜欢,autolayout会始终存在着,大家将会有两样尺寸的设施亟需去适配,iPadmini、黑莓4、4s、三星GALAXY Tabretina,autolayout可以协理大家去已毕那么些适配,Nin与StoryBoard都可以让您可视化的去行使autolayout,你可以丰盛直观的在屏幕上展开布局,可是只要去行使code,那将会是一件更加麻烦的政工

拔取StoryBoard在debug的时候你可以格外直观的观看,在Xcode5上,你可以预览自己的布局,一旦您改变布局约束,改变设备的尺码,你可以即时就看出结果,即使你利用code,你就只好debug、run、debug、run,格外的分神;就个人而言,我也不是非凡的喜欢autolayout,尽管在Xcode5与iOS7自此有所改正,但依然不是很好用,那么些大家鞭长莫及,可是无论怎么样,使用Interface
Builder会好过使用code

Raywenderlich

OK!不错的论据,接下去会不停开展半个小时的座谈,Cesare从你从头

Cesare Rocchi

code是老大清晰直观的,你可以写完之后随即运行,然后得出运行结果,你不要求深远到6个分化的品质编辑器当中,来搞明白那几个变量属性等等是何许被装置的

末了一点自家想要说的是,Interface
Builder背后的看法是不行不利的,那个理念是想要让设计师运用来设计UI,不管是Nibs依旧StoryBoard都会让你直观的看出你的app长什么体统,如同在有点时候,你不须要有一个填写着数量的tableview,作为一个设计师,根本就不会要求一个填写着真实数据的tableview,设计师只想要知道app看起来何等,那不单是一个给设计师的工具,愈来愈多的是给这几个不想写太多代码的coder,That’s
all

Raywenderlich

OK!And Tammy?

Tammy Coron

看来,我觉得Nibs是最好的方案,尤其是对此有创制力的人,知道Nibs背后的代码原理是要求的,可是你干什么要去浪费时间去跟代码较劲,Nibs卓殊的无敌;至于Story
Board,我无能为力像对待VB那样对待它,它如同僵尸一样(可能是狐狸精的意味)(Tammy前面说了一个僵尸吃大脑的讥讽,听得不是很懂就没翻译了)

Raywenderlich

Awsome!Felipe?

Felipe Laso Marsetti

额,StoryBoard就是鹏程,如同block,就如ARC,似乎一代又一时的Xcode与iOS一样,苹果现在把精力都置身了StoryBoard上面,他们不曾在Nibs上面更新太多的东西,他们从未再加新职能进入,你可以坚定不移运用Nibs或者是code,但是拔取StoryBoard你可以省去多量的年华,你可以在StoryBoard上做出相当复杂的UI,segues、unwind
segues、custom
segues,你甚至可以让StoryBoard与Nibs和code一起干活,更少的bug,你应该去品尝一下

可是你们很多少人仍旧在动用code和Nibs,因为你们很执着,你们喜欢老的章程,害怕改变,说实话,我在常常工作当中总是在应用StoryBoard,我们在大型的同盟项目中利用它,它连接最趁手的工具

在半数以上情形下,就自我的经验而言,我或许是一个年青的僵尸,StoryBoard就是本身的工具,StoryBoard可以成功的事您是足以用Nibs和code做到,不过切记,这是在苹果在WWDC下边提出来的东西,把StoryBoard和Nibs混合起来会工作的很好,那就是苹果在做的事体,StoryBoard就是最好的工具,所以,请别阻止你协调去尝试这一项美好的新技巧,你恐怕仅仅只是害怕做出改变,你只必要花一点细小时间,你就会感受到StoryBoard的美好之处

Raywenderlich

Awsome!感谢各位的解说,那么各位有何样难点想问的啊?

Matthijs Hollemans

设若您把装有的东西都位于StoryBoard里面,你就要求五次性的弄精通这一大堆的东西,我以为像Nibs那么被分割会更好,允许你利用segue来连接其余东西,你应有每回只处理一个屏幕,那样更包容你的Xcode窗口大小,可是StoryBoard占用了太大的空间

司机

大家都知道使用StoryBoard可以非凡不难的做出一个简便的选择,在AppStore当中80%的使用都是属于简单利用,有好多的开发者都是业余的,包涵自我也是,我只是想出了越发好的idea,但不肯定要做出丰盛棒的app,我想StoryBoard就是为那一个人准备的

Chris Wagner

那是很好的少数

Tammy Coron

您可以只是是nibs来营造一个StoryBoard,如同你怎么收拾自己的品种雷同,可是本人一筹莫展想像自己可以像使用Nibs那样去行使StoryBoard,说实话其实我并没有怎么使用过StoryBoard,所以自己对此StoryBoard的绝一大半见识都很牵强XD

Matthijs Hollemans

我同一也是一个借助视觉的人,同样我也快乐在可视化的角度去干活,Xcode可以变得比现在进一步的可视化,不仅仅是在集体Nibs和StoryBoard上边,Xcode还足以可视化的做过多的事情,举个栗子,可视化的操控UI元素,我更欣赏在Nibs下做那几个业务,我不以为这种格局(使用Nibs)会被淡化,因为自己觉得苹果并没有花太多的念头在协调的开发工具上,它恐怕只给了付出须求运用的最少成效,越发在与其余的IDE相比起来的时候,我梦想Xcode在将来会变得尤为的可视化

Felipe Laso Marsetti

等一下!你甚至说苹果没有花心绪在开发工具上?╰(‵□′)╯

Matthijs Hollemans

额,确实,这一块对他们而言并不是很主要,他们固然给了开发者appstore,不过假若他们确实很推崇这一块,他们理应会给大家越多更实惠的工具

Felipe Laso Marsetti

那是一个值得琢磨的地点,主旨的题材是,不管您喜不喜欢,autolayout与StoryBoard都会持续存在,二〇一八年WWDC,苹果公布iOS8,大家将会看到苹果在StoryBoard以及Interface
Builder下面做的工作,可视化将会变得越发的无敌,有一点我索要考虑的就是是还是不是要在大型项目中拔取选拔Nibs,StoryBoard是以ViewController为底蕴元素的,而Nibs是以View为根基元素的,一个nib就是一个view,那样在开班使用的时候会有点不适于,因为您想要创立一个自定义的view,不过你又不可能在直接在StoryBoard里面已毕

其它关于苹果专注于appstore等难题,这么些是事实,可是切记,苹果也规定了全副UI、开发了StoryBoard、Interface
Builder,他们制作这一任何生态链;其余关于StoryBoard,你可以用来创设极度不难的app,遇到复杂的app,你也许会去接纳Nibs,我以为那是荒谬的,你依然会在联合的时候境遇争执;我想说的是,尝试一下,即使你须求救助,来自己那边,你精晓在哪个地方可以找到自己;使用StoryBoard,你真正可以做出格外复杂的花色,质量难点根本无需去担心,在现在的5与5s方面就越发没有要求去担心这几个标题了

Tammy Coron

StoryBoard让自己感觉坚苦的是,你不得不在协调的app上面创造自定义views,为啥自己要浪费时间去选择StoryBoard,我用Nibs就足以完全搞定了

Felipe Laso Marsetti

因为StoryBoard可以更好的治本你的视图,当用户在app里进入视图与再次回到视图,你的控制器就是一个scene,所以你可以越发可视化的对待那几个,你可以知道的知情自己会被带到那里去,自定义的view是单独的有些,你可以利用一个nib创制一个自定义的view,然后重用极度频仍,同样要铭记在心,StoryBoard允许你重用你的控制器而不用在StoryBoard里面重复的去创制这几个,你还是能动用code来创制,你不应当被限制到此处面去,当你结合nibs去选择StoryBoard的时候会愈来愈的名特优

Tammy Coron

本人也可以通过瞅着连串的导航部分来管理自己的项目,那是自个儿的第四个视图,这是自身的第三个视图,等等,我索要找到一个很好的说辞让自家去行使StoryBoard,我同意关于StoryBoard就是前景的见解,不管大家喜不喜欢,autolayout就是鹏程的方向,可是我实在很难喜欢上StoryBoard

Felipe Laso Marsetti

此地有一个很好的事例,我二零一八年接替了一个种类,包蕴了五六十个ViewController,并且有一大堆的nibs,在自己开始进献代码之前自己只好去深远内部去商量那么些东西,因为这一个项目不是本身写的,那么些连串曾经做了1-2年了,在刚初步的多少个月我完全迷失在这么些项目里面,我不得不去搞精通那个nib文件之间的涉及,那实在是那多少个劳碌

只是一旦我有一个StoryBoard,那么万事都将会清晰明了,那会节省不可胜言的光阴;所以您应该至少使用StoryBoard来创造app的布局,然后再去具体的造作一些自定义的酷炫UI,采取擅自一种你喜爱的艺术;当你接手一个大型项目标时候StoryBoard确实会帮您大忙

红衣公公

自己加入的类型拥有百万行的代码,几百个视图,我不精晓我们是或不是须要去行使StoryBoard,可是我会去品尝一下,你说的很正确

Cesare Rocchi

额,我早就有两三年从未去做大型项目了,当自家如故记得那时候的忧伤,比如去处理千丝万缕的结构体,即使完全选拔code来做的体系,要去处理那样那样的结构体也是一件更加拮据的事务,其实自己也同等是一个借助于视觉的人,可是自己并不想在Xcode上面以可视化的方式来做项目,我更欣赏在PhotoShop或者Sketch上面去做这个工作,做一个完好无损的coder,你必必要知道种种东西,那是一个view那是一个button,那么些是或不是越发的灵活等等,那就是干什么自己打开Xcode的时候,我梦想自己的第二个视图是一个空手的模版

在自家的上一个档次当中,我在一个很小的有些应用了NavigationController,但是自己添加的是自个儿自定义的一个NavigationController,那是一个自定义度很高的一个app,在这一个种类里面,我完全看不出哪个地方可以行使StoryBoard,我都是用代码把全路搞定,万分的大约,而且能够很好的接纳它们,我做的都是自定义度很高的app,唯一一个应用到的视图模板就只有tableview

红衣小叔

在自己的经历看来,客户日常会给本人Photoshop文件,告诉我那就是app要看起来的榜样,然后你从头写代码,可能还有任何的主意,但是本人认为写代码是一种轻松的章程

Felipe Laso Marsetti

从我的经历无法明白在客户端协作开发的时候会发生什么,但是你获取一个Photoshop文件,你收获一个急需文档,然后对你说那就是app要看起来的楷模,然后视图A到视图B是什么样的,视图B到视图C又是怎么着的,把这么些做出来,告诉您定期,然后拜拜

额,你接纳code或者Nibs来做会很酷,可是你可以拔取StoryBoard来做这么些事物,就到底相当复杂的UI也足以成功;在我的店铺内部,常常会有自定义UI的必要,大家兴许需求利用分外多的工具,包含code甚至是PaintCode,以及其余可以扭转可视化的UI的工具,Nibs或者是StoryBoard,可以运用StroyBoard我会分外的欢畅,可以看到自己行使了StoryBoard落成了一个有一个的任务

Brian Moakley

咱俩谈论了autolayout,钻探了StoryBoard,并且现在觉得它们就是将来,然则,一年未来,大家恐怕又会说其余的事物是鹏程,所以,大家应该重新考虑我们的app到底是何等运转的,知道那么些新技巧真正很不错,可以拉长大家的工作功能,然则我想,精晓怎么着选用code来完毕具有工作是很睿智的

Felipe Laso Marsetti

iOS7给了大家各样各个的机遇去尝尝StoryBoard,甚至是Nibs,假若你拒绝使用StoryBoard,可能因为您现在会使用一种截然不相同于与往年的不二法门来创制app;既然你现在有一个机遇来解脱原来那么繁琐的成本进度还要尝试新的工具以及选取iOS7牵动的全新UI,为何不试一下呢?

红衣大伯

一个很好的品味StoryBoard的说辞就是利用StoryBoard可以动态调节尺寸来适应不一致的装备,而autolayout将会是最好的化解方案

Cesare Rocchi

自家并不欣赏StoryBoard或者是Nibs,不过我不得不去精通它们,更加是本身在教学的时候,不管是教autolayout仍然Nibs,我都会提议您去读书怎么着采用代码来形成那总体,Nibs或者是StoryBoard做了层见迭出的办事,你相信着那些工具,不过却不知情它们背后的代码原理是什么样,它们在骨子里做了何等工作,这很不佳;如若您想要成为一名专业的iOS开发者,我想你最好明白各种种种的开发方法,无论是StoryBoard、Nibs仍旧code

Felipe Laso Marsetti

此间有一个很好的例子来证实清楚code的点子很关键,有过几人日常会问一些题材就是干什么我的视图不可能切换、为何dataSource不起作用等等,知道怎样运用code会很好的赞助您解决那个标题,一旦你明白哪些使用code,那您选取StoryBoard或者是Nibs将会是如虎添翼,知道code确实万分的主要

Matthijs Hollemans

在Nibs或者是StoryBoard中接纳autolayout是非常好明白的,使用code来写约束很简单,然而半数以上时候都未曾意义,不过假若你在Interface
Builder里面做那些,它会报告您什么的约束是有意义的,它会告诉您何地应该加约束,何地不应该加;在Nibs或者StoryBoard里面做那些要比选拔code更好

Felipe Laso Marsetti

了然code确实很有必不可少,大多数人在做iOS开发的时候不领会语言背后的局部原理,那说不定会导致部分错误,或是内存走漏等等,同样的情事也会在行使StoryBoard或者是Nibs的时候暴发,即使采取这个工具开发起来会要命的有益,可是只要你不晓得背后的代码原理,你或许会在debug的时候遭逢困难

Raywenderlich

那就是说接下去是投票环节了,Nibs、StoryBoard、code,你会选取哪一个?

Brian Moakley

StoryBoard

Cesare Rocchi

Code

Matthijs Hollemans

StoryBoard

红衣三伯

StoryBoard

Felipe Laso Marsetti

从不需求问我

Chris Wagner

StoryBoard

Raywenderlich

自我也同等是StoryBoard

Tammy Coron

自家TMD要说StoryBoard吗?那样我不是很搞笑(其旁人大笑);额,我尤其喜爱Nibs,所以我会选取Nibs,但是一旦要本人在Nibs和code间做一个摘取,我会拔取code,因为code能够做此外业务

Raywenderlich

OK!看来各位一大半都是挑选了StoryBoard,╮(╯▽╰)╭

前言

总结

就小编个人而言,二种艺术本身都尝尝过,个人更偏爱选取code,当然按照分裂的风貌我会结合各自的独到之处举办付出;如上所述,StoryBoard是将来,即便还有不够完善的地点,但是相信苹果会将其做的越来越好,
StoryBorad也会日渐展现出它的魅力

做iOS开发的童鞋都应有会纠结一个难点,那就是在做开发的时候是应用StoryBoard仍旧利用Nibs又或者是Code(纯代码流)呢?小编也要命纠结那几个难点,今日碰巧在raywenderlich上边看到了多少个大神之间的撕逼,哦不,啄磨之后,感觉得到广大,于是就将他们谈谈的情节整理翻译了一下,如有不当之处,还请多多原谅,原录像请戳那里
http://t.cn/zRAb4NF

拓展阅读

代码手写UI,xib和StoryBoard间的对弈,以及Interface
Builder的有的小技巧

讨论

Ray Wenderlich

Ok!现在大家都在线,感谢各位的过来,明天大家会有一个谈谈有关iOS开发的议论,是选拔Storyboards、Nib如故Code,我们有三个志愿者,Cesare
Rocchi代表的是“Code爱好者”,Tammy Coron 代表的是“Nib爱好者”,Felipe
Laso 马尔斯etti代表的是“StoryBoard爱好者”,我们将从Cesare Rocchi先导

Cesare Rocchi

先是,code是格外清晰直观的,你能够间接望着代码,你不需求开拓死板的Nib文件,并且不要长远钻研然后找出一些错综复杂因素到底关联了依然不曾涉嫌,这个都很傻;当你在开发一个大型项目标时候那种情势特其余有用;当自身从一个crazy
guy那里接手一个档次,这一个类型是用StoryBoard或者Nibs做的,最后我会用code重写所用的事物,你可以在StoryBoard或者Nibs设置好所有东西,然则最后你可以用代码重写所有的图景;比如您在一个nib文件之中安装了一个lable,当你运行这几个app的时候那个lable看起来与你设置的不太一样,那是因为其余一个人在后头添加了一条龙代码改变了格外lable的性质

Tammy Coron

当听见她(Cesare
Rocchi)如此贬低Nib的时候让我勃然大怒,我看成一个程序媛有很长一段时间了,我见过尤其多的程序猿喜欢使用code的不二法门来支付的;但就我个人而言,我是一个极度信赖于视觉的人,我喜爱通过可视化的法子来开展编程,所以自己选用采用Nibs;你也许会说利用StoryBoard可以比使用Nibs看到越多的东西,可是对自身的话,我并不欣赏StoryBoard,因为StoryBoard能做的很单薄,尤其是当你在写一个大型项目的时候仍旧您与任何的人搭档的时候,倘使运用StoryBoard你将会把拥有的UI都会聚在一个文本之中,那会导致协作变得十分坚苦,合并上也会有无数的分神;StoryBoard上还有一个很大的题材即便,它不容许你操作太多的特性,越发是在差距的View里面使用TableViewCells的时候,你不得以在StoryBoard里面收录它们,你也许可以成功不过会相比辛劳,而Nib要做起那几个会愈来愈的简易;并且你不用想去在StoryBoard里自定义Controller或者是View,无论曾几何时想要做到那一个你最好去拔取Nib
对此code,我同意若是利用code要做过多的行事,必要求去了解Nib背后的代码,不过使用Nib你能够高速看到自己对元素操作的功效,即使采纳code,你写好所有的因素,设置好它们的属性,再将它们增长到视图里面,你必必要在运行app之后才可以见到实际的效果,那是老大重大的工作,没有人在意代码到底长什么样,他们只会关心app看起来何等,
最好的观看措施就是利用Nib来做
So,我说不定有点小震动,等自我冷静下来我会说得更好,XD

Raywenderlich

老大不错的看法,现在轮到最终一个人发言了,Felipe该你上了

Felipe Laso Marsetti

So,Cesare你就是个混蛋;Tammy并从未让自身备感恼火,因为她很推崇可视化,而可视化就是鹏程,固然code很酷,可是可视化将会是以后,不错,Nib或许更为的酷尤其的任性,不过未来势必是StoryBoard的大地,它可以让您做到一些Nib与code做不到的事体,当你在统一代码或者统一Nib的时候你依旧会遇上争辨,每当你触碰Nibs,Xcode就会并非理由的认为你转移了它,所以你要讲述那样的变更,因为Xcode认为它改变了,仅仅因为你看了它一眼
StoryBoard更好,不用再像Nib或者code这样工作,若是你使用code,你需求周转你的app,看布局是不是站得住,然后回到更改布局属性,再运行app来看效果,不断的再一次,那样效用特其他低,或许使用Nib会有所创新,然则当你在做一个大型项目的时候,你会有三四十个ViewController,那样您或许就会有四五十个Nib文件,那会特其他可恶,因为您要那一个小心的做一些修改
而是StoryBoard不仅可以让你幸免写一大堆无聊的代码,甚至是防止那个要在Nib下写的代码,比如动用segue和unwind
segue,你可以经过一多级的delegate方法来传输数据,你可以设置转场动画,你依旧足以自定义动画
世家都觉得大家只可以在一个StoryBoard上边工作,可是其实大家可以在频频一个StoryBoard上边工作;当大家在支付集团级客户端的时候,大家寻常都是3-5个人的团队,大家会有10个StoryBoard,那很美丽,因为你可以将各类模块分开,比如about模块、反馈模块或者社交模块,你可以见见可视化的layout,为了避免外人说StoryBoard变得越发大,越来越慢,你可以试着打开它,然后,boom~~,你可以通晓地通晓怎么连接着怎么,什么要去哪个地方,你可以命名你的segue,你可以具备广大的自定义,所有的那总体都预示着StoryBoard将会是前景
自然,Nibs和code是很有用的,而且自己也提议在须要的时候去行使Nibs和code,可是自己想说在Xcode中运用StoryBoard是至极有益的,那是苹果在用的东西,他们为StoryBoard做了那一个多的行事,它就是前景,并没有丰裕的凭证来阐明StroyBoard很慢很臃肿或者此外,没有丰富强大的证据来验证这一部分;我强烈提出使用StoryBoard,当必要的时候你可以运用code或者nibs,但是自己指出您尽量幸免去行使,因为StoryBoard才是王道

Raywenderlich

Awsome!格外棒的眼光!So,接下去每个人都有一个机会为自己的视角展开分辨,那么,Cesare你有啥要说的啊?

Cesare Rocchi

额,首先,如若当你想要合并Nib或者StoryBoard的时候,那大约就是恐怖的梦,毫无意义,然后code要大功告成那么些是非凡轻松的,作为一个项目主管,我可以通晓地收看前几日代码都做了怎么修改,可是像Nib或者StoryBoard,我不可能把握它究竟做了何等,到底是修复了bug如故促成了某一个效用
再有就是,你在好曾几何时候恐怕会采纳Xcode的beta版本来举行工作,你明白Xcode在保管Nibs或者StoryBoard下边并不曾那么的智能,当自家打开项目标时候,beta版的Xcode修改了少数文件,导致了有着东西都流失了,那就意味着你打开StoryBoard之后什么都尚未了,所以整个项目就全盘崩溃了
其三点就是运用Nibs或者StoryBoard会减低我的工作功效,当自身在coding的时候,我喜欢保持自己的手放在键盘下边,而不用去打开一个nib文件然后去做一些涉及,然后又将手放回键盘继续coding,这样会骤降我的工作效能;还有一些要提的就是,不止一次,越发是在初叶的时候,我会看着显示屏,尝试着找出是哪个人TMD给这一个特性设置了值,哪个人安装了x或者y,在哪个地方或者是什么样设置的等等,That’s
all!

Raywenderlich

So,Cesare说使用code会让她的工作成效更高,Tammy你有哪些要说的吧?

Tammy Coron

额,当您望着nib文件的时候,你并不须要过多的去关心那么多的习性,它们是怎么设置的以及它们怎么着的关系,当您利用nib工作的时候,你只要求将你的psd文件处理未来放到nib文件之中,那样你直接就足以见见功用,然后您再去关联代码,我想说的是使用nib一切都分外的急忙
自家得以在app已毕之后深刻到framework里面,在非凡有限的小运里面,在那之中没有代码,唯有可视化的元素,那样就可以很快的长远到screen里,去看您的app是哪些连接的,然后再去处理自己的代码;可是一旦您把全体都用代码来做将会卓殊的累赘,要去设置这么那样的性质,oh
my
god,大致无聊死了,根本就是在浪费时间;我看不惯使用StoryBoard,使用StoryBoard的人就好像僵尸一样,一个big
boy不应该去采取StoryBoard,额,反正自己就是不喜欢XD

Raywenderlich

So,Felipe你是此处最青春的分子,你也更加欣赏僵尸,你有何样看法?

Felipe Laso Marsetti

额,我就是一个僵尸StoryBoard用户,我强烈指出使用StoryBoard,code是很是有必不可少的,有时候你只好去写一些代码来形成那个可视化完结不了的干活,比如自定义UI,可是那多少个都不是常用的,大部分时候利用StoryBoard就足以满意须求了;使用StoryBoard你可以丰硕方便的去设置元素属性,而不用去理会背后繁琐的代码;那所有的一体都意味StoryBoard是未来,这是苹果在用的东西
最后我想说,越少的代码就象征越少的机遇将bug引入到你的app里面,就如同有500行自定义UI的代码,你可以将它们裁减到100行,那样您就足以避免掉400行没有需求的代码,那样可以削减bug,而且这么尤其便于的去珍惜你的代码,倘诺你是单独开发,那么使用code或许对你影响不大,不过即使您从外人那边接手项目,你就只可以深远钻研那一个代码到底做了何等,是什么设置view的,什么继承了什么,以及在nib里面有如何,你甚至不可以运用nib去创制一个富有static
prototype
cells的tableview,你无法不去创设一个tableview的子类,新建.h、.m、以及nib文件,然后再去创立cell的子类,再新建.h、.m、以及nib文件,然后那个cells在tableview当中是独自的,这样您就只好去新建一个又一个的cell;可是在StroyBoard里面,只需求一个tableview,20个cells,然后boom~~,太美好了,节省时间,让客户端更简明,更少的bug,而且一切都是在可视化下完了的,你不用去不停的stop、run、stop、run,然后去看您的nib文件以及你的代码,僵尸赢了

Raywenderlich

没错的实证,有一点自己不住听到的就是,使用可视化的User Interface
Designer,你可以幸免越多的代码,可以减去bug,你们怎么看待那一个观点?

Cesare Rocchi

额,在autolayout出现此前我会同意那一个视角,假如让自家对Interface
Builder进行打分(10分制),在过去我会给6分,当autolayout出现之后就只有3分了,我专门恐怖在Xcode4.6下边举行工作,autolayout尝试着将享有的事物混合在一齐,造成的情景就是您在界面下面小意思,不过在普通情形下这不是你想要的,你或许是想要让您的视图更小或者是此外;我只可以认同autolayout在Xcode5之后有所改进,但我对此并不是很感兴趣

Raywenderlich

Tammy,Cesare很反感autolayout,你有啥样想说的吗?

Tammy Coron

自家同样也不是autolayout的狂热粉丝,我会尽量的将autolayout关闭掉,我在有些品类方面用过autolayout,但自己对autolayout提不起兴趣,你还能接纳Nib而不去行使autolayout,所以自己认为她的实证是没用的,抱歉XD

Raywenderlich

那就是说Felipe你是怎么对待autolayout的吗?

Felipe Laso Marsetti

不论你喜不喜欢,autolayout会始终存在着,大家将会有例外尺寸的配备亟需去适配,三星平板mini、Nokia4、4s、华为平板retina,autolayout可以辅助我们去做到那一个适配,Nin与StoryBoard都得以让你可视化的去行使autolayout,你能够足够直观的在显示屏上进展布局,可是假设去行使code,那将会是一件非常麻烦的工作
选用StoryBoard在debug的时候你可以分外直观的看来,在Xcode5上,你可以预览自己的布局,一旦你改变布局约束,改变设备的尺码,你能够及时就见到结果,假设你选拔code,你就不得不debug、run、debug、run,格外的麻烦;就个人而言,我也不是特其他喜欢autolayout,即使在Xcode5与iOS7过后有所改正,但照样不是很好用,那一个大家不可能,然则无论如何,使用Interface
Builder会好过使用code

Raywenderlich

OK!不错的实证,接下去会不断进行半个钟头的钻探,Cesare从你从头

Cesare Rocchi

code是那多少个清晰直观的,你能够写完事后立刻运行,然后得出运行结果,你不须要深远到6个例外的习性编辑器当中,来搞明白这个变量属性等等是哪些被装置的
最后一点本身想要说的是,Interface
Builder背后的见解是非常正确的,这些看法是想要让设计师接纳来设计UI,不管是Nibs依旧StoryBoard都会让您直观的来看你的app长什么体统,就像在多少时候,你不需求有一个填写着多少的tableview,作为一个设计师,根本就不会必要一个填写着真正数据的tableview,设计师只想要知道app看起来何等,那不仅仅是一个给设计师的工具,越来越多的是给那一个不想写太多代码的coder,That’s
all

Raywenderlich

OK!And Tammy?

Tammy Coron

总的看,我觉得Nibs是最好的方案,越发是对此有成立力的人,知道Nibs背后的代码原理是必不可少的,不过你干吗要去浪费时间去跟代码较劲,Nibs非凡的强劲;至于Story
Board,我无法像对待VB那样对待它,它如同僵尸一样(可能是狐狸精的意趣)(Tammy前面说了一个僵尸吃大脑的耻笑,听得不是很懂就没翻译了)

Raywenderlich

Awsome!Felipe?

Felipe Laso Marsetti

额,StoryBoard就是未来,如同block,就如ARC,就像一代又一代的Xcode与iOS一样,苹果现在把精力都位居了StoryBoard下边,他们尚无在Nibs上边更新太多的事物,他们从没再加新成效进入,你可以坚贞不屈利用Nibs或者是code,可是选拔StoryBoard你可以省去多量的岁月,你可以在StoryBoard上做出万分复杂的UI,segues、unwind
segues、custom
segues,你依旧足以让StoryBoard与Nibs和code一起工作,更少的bug,你应当去品尝一下
唯独你们很三个人仍旧在利用code和Nibs,因为你们很执拗,你们喜欢老的法门,害怕改变,说实话,我在平凡工作当中总是在使用StoryBoard,大家在巨型的合营项目中利用它,它总是最趁手的工具
在大多数情状下,就我的经历而言,我恐怕是一个血气方刚的僵尸,StoryBoard就是自家的工具,StoryBoard可以形成的事您是足以用Nibs和code做到,不过切记,那是在苹果在WWDC上面提出来的事物,把StoryBoard和Nibs混合起来会做事的很好,那就是苹果在做的作业,StoryBoard就是最好的工具,所以,请别阻止你协调去尝试这一项美好的新技巧,你也许仅仅只是害怕做出改变,你只须求花一点微小时间,你就会感受到StoryBoard的美好之处

Raywenderlich

Awsome!感谢各位的演说,那么各位有啥样难题想问的呢?

Matthijs Hollemans

即使你把持有的事物都位于StoryBoard里面,你就必要一回性的弄驾驭这一大堆的事物,我认为像Nibs那么被分割会更好,允许你利用segue来连接其余事物,你应当每一趟只处理一个显示器,那样更兼容你的Xcode窗口大小,但是StoryBoard占用了太大的空间

司机

俺们都知情使用StoryBoard可以极度简单的做出一个大致的使用,在AppStore当中80%的使用都是属于不难利用,有不乏先例的开发者都是业余的,包含自我也是,我只是想出了相当好的idea,但不肯定要做出更加棒的app,我想StoryBoard就是为这几个人准备的
Chris Wagner

那是很好的少数

Tammy Coron

您可以单独是nibs来构建一个StoryBoard,似乎您如何收拾自己的门类一律,然则我不能想像自己力所能及像使用Nibs这样去行使StoryBoard,说实话其实自己并没有怎么使用过StoryBoard,所以自己对于StoryBoard的大部观点都很牵强XD

Matthijs Hollemans

自己一样也是一个借助视觉的人,同样我也爱不释手在可视化的角度去工作,Xcode可以变得比现行更为的可视化,不仅仅是在集体Nibs和StoryBoard上面,Xcode仍能可视化的做过多的事体,举个栗子,可视化的操控UI元素,我更爱好在Nibs下做那个工作,我不认为那种方法(使用Nibs)会被淡化,因为自身觉着苹果并从未花太多的思想在大团结的开发工具上,它或许只给了支付须求利用的最少功能,更加在与任何的IDE相比较起来的时候,我期望Xcode在将来会变得愈加的可视化

Felipe Laso Marsetti

等一下!你依旧说苹果没有花心绪在开发工具上?╰(‵□′)╯

Matthijs Hollemans

额,确实,这一块对她们而言并不是很重大,他们固然给了开发者appstore,但是一旦她们真正很着重这一块,他们应有会给我们更加多更有效的工具

Felipe Laso Marsetti

那是一个值得钻探的地点,宗旨的标题是,不管您喜不喜欢,autolayout与StoryBoard都会频频存在,前年WWDC,苹果公布iOS8,大家将会面到苹果在StoryBoard以及Interface
Builder上边做的劳作,可视化将会变得进一步的有力,有一点我需求考虑的就是是不是要在大型项目中选拔选用Nibs,StoryBoard是以ViewController为底蕴元素的,而Nibs是以View为根基元素的,一个nib就是一个view,那样在起首运用的时候会有点不适于,因为您想要成立一个自定义的view,不过你又不可知在一向在StoryBoard里面完结
其它关于苹果专注于appstore等难题,这一个是实际,不过切记,苹果也确定了百分之百UI、开发了StoryBoard、Interface
Builder,他们创立这一总体生态链;此外关于StoryBoard,你可以用来创制分外简单的app,碰到复杂的app,你也许会去挑选Nibs,我以为那是荒谬的,你如故会在集合的时候遇到争持;我想说的是,尝试一下,借使你须要支持,来自己那边,你通晓在何地可以找到自己;使用StoryBoard,你真正可以做出卓殊复杂的类型,质量难题历来无需去担心,在今日的5与5s上边就进一步没有须要去担心这么些题材了

Tammy Coron

StoryBoard让我感觉到劳碌的是,你不得不在和谐的app上面创设自定义views,为啥我要浪费时间去行使StoryBoard,我用Nibs就可以完全搞定了

Felipe Laso Marsetti

因为StoryBoard能够更好的保管你的视图,当用户在app里进入视图与重返视图,你的控制器就是一个scene,所以您可以越发可视化的对待这一个,你可以清楚的掌握自己会被带到那里去,自定义的view是独立的一对,你可以采纳一个nib创制一个自定义的view,然后重用非凡频仍,同样要切记,StoryBoard允许你重用你的控制器而不用在StoryBoard里面重复的去创设那些,你甚至足以采纳code来创造,你不应有被界定到那里面去,当您结合nibs去行使StoryBoard的时候会进一步的好好

Tammy Coron

本人也得以通过望着项指标导航部分来治本自己的项目,这是本人的首先个视图,那是本人的第一个视图,等等,我索要找到一个很好的理由让自己去采取StoryBoard,我同意关于StoryBoard就是前景的见识,不管大家喜不喜欢,autolayout就是鹏程的势头,不过我实在很难喜欢上StoryBoard

Felipe Laso Marsetti

那边有一个很好的事例,我二〇一八年接班了一个类型,包罗了五六十个ViewController,并且有一大堆的nibs,在自身开头进献代码从前我只可以去长远内部去研讨那么些事物,因为那些类型不是我写的,那几个项目现已做了1-2年了,在刚开始的多少个月我一心迷失在这一个类型里面,我只能去搞精通那些nib文件之间的涉嫌,那其实是至极困难
而是如若自身有一个StoryBoard,那么任何都将会清晰明了,那会省掉恒河沙数的光阴;所以您应有至少使用StoryBoard来创建app的布局,然后再去具体的制作一些自定义的酷炫UI,拔取擅自一种你欢欣的措施;当您接手一个大型项目标时候StoryBoard确实会帮您大忙

红衣伯伯

自我加入的体系拥有百万行的代码,几百个视图,我不通晓我们是还是不是须要去行使StoryBoard,但是我会去品尝一下,你说的很正确

Cesare Rocchi

额,我已经有两三年没有去做大型项目了,当自家如故记得这时候的惨痛,比如去处理千丝万缕的结构体,即使完全选用code来做的项目,要去处理那样那样的结构体也是一件格外狼狈的政工,其实我也同样是一个借助于视觉的人,可是自己并不想在Xcode上边以可视化的花样来做项目,我更爱好在PhotoShop或者Sketch上边去做那个事情,做一个完美的coder,你必要求明白各样东西,那是一个view那是一个button,那个是或不是更加的灵巧等等,那就是干吗自己打开Xcode的时候,我期待我的率先个视图是一个空白的沙盘
在我的上一个品种当中,我在一个很小的一些行使了NavigationController,可是本人添加的是自己自定义的一个NavigationController,那是一个自定义度很高的一个app,在那么些序列里面,我完全看不出何地可以选择StoryBoard,我都是用代码把所有搞定,卓殊的大概,而且可以很好的重用它们,我做的都是自定义度很高的app,唯一一个运用到的视图模板就只有tableview

红衣四叔

在自我的经历看来,客户平常会给本人Photoshop文件,告诉我那就是app要看起来的榜样,然后你开始写代码,可能还有其余的方法,不过我觉得写代码是一种轻松的办法

Felipe Laso Marsetti

从自身的经历不能清楚在客户端合作开发的时候会爆发哪些,不过你取得一个Photoshop文件,你得到一个须求文档,然后对你说那就是app要看起来的旗帜,然后视图A到视图B是怎样的,视图B到视图C又是怎样的,把那一个做出来,告诉你定期,然后拜拜
额,你利用code或者Nibs来做会很酷,可是你可以使用StoryBoard来做那几个事物,就终于分外复杂的UI也得以成功;在自家的商号里面,平日会有自定义UI的须要,咱们可能需求运用分外多的工具,包涵code甚至是PaintCode,以及其余可以生成可视化的UI的工具,Nibs或者是StoryBoard,可以运用StroyBoard我会格外的喜出望外,可以看出自己行使了StoryBoard已毕了一个有一个的职务

Brian Moakley

咱俩谈论了autolayout,琢磨了StoryBoard,并且现在以为它们就是以后,然则,一年过后,大家可能又会说其他的事物是鹏程,所以,我们相应重新思考我们的app到底是什么运转的,知道这几个新技巧确实很科学,可以坚实我们的工作功效,可是我想,理解如何行使code来落成所有工作是很精明的

Felipe Laso Marsetti

iOS7给了豪门种种各种的机会去品尝StoryBoard,甚至是Nibs,假诺您拒绝利用StoryBoard,可能因为你现在会动用一种截然不相同于与往年的点子来创设app;既然你现在有一个机会来解脱原来那么麻烦的付出进度还要尝试新的工具以及使用iOS7推动的全新UI,为何不试一下呢?

红衣伯伯

一个很好的尝试StoryBoard的理由就是利用StoryBoard可以动态调试尺寸来适应差其余配备,而autolayout将会是最好的化解方案

Cesare Rocchi

自己并不希罕StoryBoard或者是Nibs,但是本人不得不去精晓它们,更加是自己在教学的时候,不管是教autolayout如故Nibs,我都会指出您去上学怎么样运用代码来成功这一体,Nibs或者是StoryBoard做了很多的工作,你相信着那几个工具,不过却不亮堂它们背后的代码原理是怎么着,它们在私自做了怎么事情,这很糟糕;假若您想要成为一名正式的iOS开发者,我想你最好领会各类各个的开发方法,无论是StoryBoard、Nibs仍旧code

Felipe Laso Marsetti

这里有一个很好的事例来证西魏楚code的措施很重大,有过多少人时常会问一些问题就是为什么自己的视图不可能切换、为啥dataSource不起成效等等,知道怎么着使用code会很好的辅助你解决这么些难题,一旦您通晓怎样运用code,那你使用StoryBoard或者是Nibs将会是如虎得翼,知道code确实不行的关键

Matthijs Hollemans

在Nibs或者是StoryBoard中动用autolayout是非凡好驾驭的,使用code来写约束很不难,不过多数时候都不曾意义,可是如果您在Interface
Builder里面做那个,它会报告您怎么的约束是有意义的,它会告知您哪儿应该加约束,哪儿不应有加;在Nibs或者StoryBoard里面做那个要比选择code更好

Felipe Laso Marsetti

了然code确实很有必不可少,半数以上人在做iOS开发的时候不亮堂语言背后的片段法则,那说不定会招致局地颠倒是非,或是内存走漏等等,同样的状态也会在动用StoryBoard或者是Nibs的时候发出,即使采纳这几个工具开发起来会卓殊的便民,不过只要您不领悟背后的代码原理,你可能会在debug的时候蒙受困难

Raywenderlich

那么接下去是投票环节了,Nibs、StoryBoard、code,你会挑选哪一个?

Brian Moakley

StoryBoard

Cesare Rocchi

Code

Matthijs Hollemans

StoryBoard

红衣大伯

StoryBoard

Felipe Laso Marsetti

从未有过须求问我

Chris Wagner

StoryBoard

Raywenderlich

我也同样是StoryBoard

Tammy Coron

额,我可怜喜欢Nibs,所以我会接纳Nibs,可是如若要自己在Nibs和code间做一个选取,我会选拔code,因为code可以做别的工作

Raywenderlich

OK!看来各位超过一半都是选项了StoryBoard

总结

就作者个人而言,三种方法本身都品尝过,个人更偏爱拔取code,当然依照不一样的气象我会结合各自的助益举办支付;如上所述,StoryBoard是鹏程,尽管还有不够周详的地点,然而相信苹果会将其做的进一步好,
StoryBorad也会逐步展现出它的魅力

举办阅读

代码手写UI,xib和StoryBoard间的博弈,以及Interface Builder的部分小技巧
http://t.cn/8kdcjt6