Story玛驰d也会日渐显示出它的吸引力,StoryCRIDERd也会日趋显示出它的魔力

前言

做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文件,并且不要深切琢磨然后找出部分扑朔迷离因素到底关联了依然不曾涉及,那几个都很傻;当你在开发1个大型项目的时候那种措施要命的有用;当自身从三个crazy
guy那里接手二个项目,那一个项目是用StoryBoard只怕Nibs做的,最终我会用code重写所用的东西,你可以在StoryBoard可能Nibs设置好全部东西,然则最终你能够用代码重写全数的意况;比如您在贰个nib文件之中安装了2个lable,当你运维这么些app的时候那一个lable看起来与您设置的不太一样,那是因为别的1位在后头添加了一行代码改变了至极lable的习性

Tammy Coron

当听见她(Cesare
Rocchi)如此贬低Nib的时候让自家怒气冲天,小编作为三个先后媛有相当长一段时间了,作者见过那么些多的程序猿喜欢使用code的法子来支付的;但就本人个人而言,小编是二个尤其看重于视觉的人,作者爱好通过可视化的主意来拓展编程,所以自身选用选取Nibs;你可能会说采用StoryBoard能够比使用Nibs看到越来越多的东西,但是对本身的话,作者并不喜欢StoryBoard,因为StoryBoard能做的很有限,尤其是当你在写贰个大型项目的时候依然您与其余的人搭档的时候,假若使用StoryBoard你将会把具备的UI都集中在3个文本之中,那会造成合营变得那多少个困难,合并上也会有诸多的费劲;StoryBoard上还有一个很大的题材即便,它不容许你操作太多的性质,特别是在区其他View里面使用TableViewCells的时候,你不得以在StoryBoard里面收录它们,你或者可以做到不过会相比费心,而Nib要做起这几个会进一步的粗略;并且你绝不想去在StoryBoard里自定义Controller或然是View,无论什么日期想要做到那几个你最好去接纳Nib

对此code,我同意假若运用code要做过多的干活,必必要去领略Nib背后的代码,然则使用Nib你可以神速看到本人对成分操作的功用,如果选拔code,你写好全体的要素,设置好它们的习性,再将它们增长到视图里面,你必要求在运转app之后才可以看出实际的功用,那是分外重大的政工,没有人在意代码到底长什么样,他们只会关心app看起来何等,
最好的观赛措施就是拔取Nib来做

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

Raywenderlich

10分不利的见识,以往轮到最终一个人发言了,Felipe该你上了

Felipe Laso Marsetti

So,塞萨尔e你就是个混蛋;Tammy并不曾让本人觉得恼火,因为他很重视可视化,而可视化就是鹏程,纵然code很酷,不过可视化将会是现在,不错,Nib只怕更为的酷特别的随意,不过今后必将是StoryBoard的大世界,它可以让你已毕一些Nib与code做不到的业务,当您在统一代码可能统一Nib的时候你依旧会遇上争辨,每当你触碰Nibs,Xcode就会并非理由的以为你转移了它,所以你要讲述那样的更动,因为Xcode认为它改变了,仅仅因为你看了它一眼

StoryBoard更好,不用再像Nib大概code那样工作,如果你选拔code,你要求周转你的app,看布局是还是不是创制,然后回来更改布局属性,再运转app来看效果,不断的重新,这样成效尤其的低,或者使用Nib会有所创新,不过当你在做三个大型项目标时候,你会有三34个ViewController,那样你恐怕就会有四肆17个Nib文件,那会要命的讨厌,因为你要卓殊小心的做一些改动

只是StoryBoard不仅可以让你防止写一大堆无聊的代码,甚至是幸免那五个要在Nib下写的代码,比如采取segue和unwind
segue,你可以由此一密密麻麻的delegate方法来传输数据,你可以设置转场动画,你甚至可以自定义动画

大家都觉得我们只幸好四个StoryBoard上边工作,然则事实上大家可以在不断1个StoryBoard下边工作;当我们在付出公司级客户端的时候,大家常见都以3-八人的团体,咱们会有十三个StoryBoard,那很美妙,因为你可以将顺序模块分开,比如about模块、反馈模块只怕社交模块,你可以看来可视化的layout,为了避免旁人说StoryBoard变得更其大,越来越慢,你可以试着打开它,然后,boom~~,你可以知晓地领会怎么着连接着怎么着,什么要去哪儿,你可以命名你的segue,你可以享有许多的自定义,全部的这一体都预示着StoryBoard将会是前景

自然,Nibs和code是很有用的,而且作者也提出在需求的时候去接纳Nibs和code,不过自身想说在Xcode中行使StoryBoard是可怜有利的,那是苹果在用的事物,他们为StoryBoard做了要命多的劳作,它就是鹏程,并不曾充足的凭据来证实StroyBoard很慢很臃肿恐怕其余,没有丰盛强劲的凭证来表明这部分;作者强烈指出使用StoryBoard,当必要的时候你可以行使code恐怕nibs,但是本身提议你尽量幸免去行使,因为StoryBoard才是王道

Raywenderlich

Awsome!格外棒的意见!So,接下去逐个人都有3个机遇为和谐的视角进行分辨,那么,Cesare你有啥样要说的吧?

Cesare Rocchi

额,首先,假若当你想要合并Nib或许StoryBoard的时候,这几乎就是恶梦,毫无意义,然后code要已毕这些是可怜轻松的,作为二个项目老董,我可以知道地观看前些天代码都做了什么修改,然则像Nib只怕StoryBoard,我一筹莫展把握它到底做了哪些,到底是修补了bug依然促成了某贰个效应

再有就是,你在少数时候恐怕会拔取Xcode的beta版本来举行工作,你明白Xcode在管制Nibs只怕StoryBoard上面并从未那么的智能,当本身打开项目标时候,beta版的Xcode修改了一点文件,导致了具有东西都石沉大海了,那就意味着你打开StoryBoard之后怎么样都没有了,所以整个项目就全盘崩溃了

其三点就是运用Nibs或然StoryBoard会减低小编的工作效能,当小编在coding的时候,作者欣赏保持本身的手放在键盘下边,而不用去打开3个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的人就像僵尸一样,1个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,十九个cells,然后boom~~,太美丽了,节省时间,让客户端更简约,更少的bug,而且一切都以在可视化下形成的,你不用去不停的stop、run、stop、run,然后去看你的nib文件以及你的代码,僵尸赢了

Raywenderlich

是的的论据,有一点作者连连听到的就是,使用可视化的User Interface
Designer,你可防止止更加多的代码,可以减掉bug,你们怎么对待那一个看法?

Cesare Rocchi

额,在autolayout出现之前作者会同意这么些理念,借使让自身对Interface
Builder举行打分(13分制),在过去作者会给肆分,当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、三星④ 、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是十一分清晰直观的,你可以写完以后即刻运营,然后得出运维结果,你不必要长远到伍个区其他属性编辑器当中,来搞明白那些变量属性等等是怎么着被设置的

末尾一点自个儿想要说的是,Interface
Builder背后的见地是可怜正确的,那个看法是想要让设计师运用来设计UI,不管是Nibs依然StoryBoard都会让你直观的看出您的app长什么体统,就像是在稍微时候,你不须要有多少个填写着多少的tableview,作为二个设计师,根本就不会必要二个填写着真正数据的tableview,设计师只想要知道app看起来何等,这不光是2个给设计师的工具,愈来愈多的是给这多少个不想写太多代码的coder,That’s
all

Raywenderlich

OK!And Tammy?

Tammy Coron

看来,小编认为Nibs是最好的方案,尤其是对此有创设力的人,知道Nibs背后的代码原理是不可或缺的,可是你为什么要去浪费时间去跟代码较劲,Nibs相当的强大;至于Story
Board,小编一筹莫展像对待VB那样对待它,它就像是僵尸一样(可能是异类的意趣)(苔米前边说了1个僵尸吃大脑的作弄,听得不是很懂就没翻译了)

Raywenderlich

Awsome!Felipe?

Felipe Laso Marsetti

额,StoryBoard就是前景,就像是block,似乎ALacrosseC,似乎一代又一时半刻的Xcode与iOS一样,苹果将来把精力都置身了StoryBoard上边,他们未尝在Nibs上边更新太多的事物,他们不曾再加新功用进入,你可以坚韧不拔利用Nibs大概是code,可是利用StoryBoard你可以省去大批量的时间,你可以在StoryBoard上做出分外复杂的UI,segues、unwind
segues、custom
segues,你还可以让StoryBoard与Nibs和code一起工作,更少的bug,你应该去品尝一下

不过你们很多个人依然在接纳code和Nibs,因为你们很执拗,你们喜欢老的点子,害怕改变,说实话,作者在日常工作中间总是在选用StoryBoard,大家在巨型的合营项目中运用它,它连接最趁手的工具

在半数以上情景下,就自个儿的阅历而言,小编恐怕是2个年轻的僵尸,StoryBoard就是小编的工具,StoryBoard可以达成的事您是足以用Nibs和code做到,可是切记,那是在苹果在WWDC上边提议来的东西,把StoryBoard和Nibs混合起来会工作的很好,那就是苹果在做的政工,StoryBoard就是最好的工具,所以,请别阻止你自个儿去品尝这一项美好的新技巧,你大概仅仅只是害怕做出改变,你只要求花一点微小时间,你就会感受到StoryBoard的光明之处

Raywenderlich

Awsome!感激各位的演说,那么各位有如何难点想问的啊?

Matthijs Hollemans

设若您把持有的事物都置身StoryBoard里面,你就须要五次性的弄通晓这一大堆的事物,小编认为像Nibs那么被分开会更好,允许你利用segue来连接其余东西,你应有每回只处理三个显示器,那样更包容你的Xcode窗口大小,可是StoryBoard占用了太大的空中

司机

我们都知情使用StoryBoard可以卓殊不难的做出1个简单易行的采取,在AppStore当中十分之八的施用都以属于简单利用,有很多的开发者都以业余的,包含自小编也是,小编只是想出了要命好的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,他们制作那玖拾7分之百生态链;此外关于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

那里有三个很好的例子,作者二零一八年接手了1个品类,包罗了五五15个ViewController,并且有一大堆的nibs,在本人发轫进献代码此前自个儿只可以去深远内部去研讨那一个事物,因为那么些类型不是小编写的,这一个项目已经做了1-2年了,在刚起首的多少个月作者完全迷失在这几个类型里面,作者不得不去搞精晓这么些nib文件之间的涉及,那其实是非常困难

可是假设自己有2个StoryBoard,那么全体都将会清晰明了,那会省掉恒河沙数的时刻;所以您应有至少使用StoryBoard来创建app的布局,然后再去具体的创制一些自定义的酷炫UI,采用私自一种你欣赏的法门;当你接手二个大型项目标时候StoryBoard确实会帮您大忙

红衣四叔

本人参预的品种拥有百万行的代码,几百个视图,小编不知道大家是或不是须求去行使StoryBoard,但是作者会去品尝一下,你说的很不错

Cesare Rocchi

额,作者已经有两三年从未去做大型项目了,当小编依旧记得那时候的伤痛,比如去处理千丝万缕的结构体,即使完全使用code来做的品种,要去处理那样那样的结构体也是一件拾分忙碌的业务,其实作者也一律是三个借助于视觉的人,可是笔者并不想在Xcode上边以可视化的样式来做项目,小编更欣赏在PhotoShop或然Sketch上面去做那些事情,做贰个卓绝的coder,你无法不要了解各样东西,那是2个view这是1个button,那一个是否尤其的灵敏等等,那就是干什么作者打开Xcode的时候,作者盼望自个儿的第三个视图是三个空荡荡的模板

在本身的上多个档次当中,作者在五个很小的部分使用了NavigationController,可是自个儿添加的是自家自定义的3个NavigationController,那是三个自定义度很高的1个app,在这些项目里面,作者完全看不出哪儿可以行使StoryBoard,小编都以用代码把一切消除,万分的简要,而且可以很好的接纳它们,作者做的都是自定义度很高的app,唯一3个运用到的视图模板就唯有tableview

红衣大叔

在自己的经历看来,客户平时会给自身Photoshop文件,告诉自个儿那就是app要看起来的样板,然后你开首写代码,或者还有任何的主意,但是作者认为写代码是一种轻松的章程

Felipe Laso Marsetti

从自作者的经历无法驾驭在客户端同盟开发的时候会生出什么,不过你拿走多个Photoshop文件,你拿走3个急需文档,然后对您说那就是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

此处有3个很好的例证来说北齐楚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,你会挑选哪1个?

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是前景,尽管还有不够健全的地点,不过相信苹果会将其做的愈益好,
StoryPASSATd也会逐渐彰显出它的魔力

做iOS开发的童鞋都应当会纠结3个难题,那就是在做开发的时候是利用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爱好者”,我们将从塞萨尔e Rocchi开头

Cesare Rocchi

首先,code是可怜清晰直观的,你可以直接望着代码,你不须求开辟鸠拙的Nib文件,并且永不深刻钻研然后找出某些叶影参差因素到底关联了大概没有提到,这个都很傻;当您在付出二个大型项目标时候那种办法万分的有用;当自家从一个crazy
guy那里接手3个品种,那一个类型是用StoryBoard恐怕Nibs做的,最终笔者会用code重写所用的事物,你可以在StoryBoard恐怕Nibs设置好全部东西,可是最终你可以用代码重写全数的情况;比如您在一个nib文件之中安装了三个lable,当您运维那么些app的时候这些lable看起来与你设置的不太一致,那是因为其它壹位在后来添加了一条龙代码改变了非凡lable的品质

Tammy Coron

当听到他(Cesare
Rocchi)如此贬低Nib的时候让自己怒气冲天,作者当做五个主次媛有十分短一段时间了,小编见过卓殊多的程序猿喜欢使用code的主意来支付的;但就自小编个人而言,小编是2个非凡依赖于视觉的人,作者欢腾通过可视化的艺术来展开编程,所以自个儿选用使用Nibs;你大概会说拔取StoryBoard可以比采取Nibs看到越来越多的事物,可是对作者来说,我并不欣赏StoryBoard,因为StoryBoard能做的很有限,特别是当您在写一个大型项目标时候照旧你与别的的人搭档的时候,如果使用StoryBoard你将会把具备的UI都汇集在贰个文书之中,那会导致同盟变得可怜困难,合并上也会有很多的麻烦;StoryBoard上还有3个很大的难点不怕,它不允许你操作太多的品质,特别是在不一样的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会有所改革,不过当您在做1个大型项目的时候,你会有三四十多个ViewController,那样您或者就会有四肆拾伍个Nib文件,那会非常的讨厌,因为您要那些小心的做一些修改
但是StoryBoard不仅能够让您幸免写一大堆无聊的代码,甚至是防止那多少个要在Nib下写的代码,比如拔取segue和unwind
segue,你可以经过一密密麻麻的delegate方法来传输数据,你可以设置转场动画,你还可以自定义动画
世家都认为大家不得不在壹个StoryBoard下面工作,不过实际上大家可以在不断一个StoryBoard上边工作;当我们在开发集团级客户端的时候,大家一般都以3-六位的集体,大家会有拾壹个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里面,只须要2个tableview,二十一个cells,然后boom~~,太美观了,节省时间,让客户端更简便,更少的bug,而且一切都以在可视化下做到的,你不用去不停的stop、run、stop、run,然后去看你的nib文件以及你的代码,僵尸赢了

Raywenderlich

正确的论证,有一点我连连听到的就是,使用可视化的User Interface
Designer,你可以幸免越多的代码,可以减去bug,你们怎么对待那么些观点?

Cesare Rocchi

额,在autolayout出现此前作者会同意那一个意见,倘若让自身对Interface
Builder举行打分(十三分制),在过去作者会给5分,当autolayout出现今后就唯有3分了,作者专门恐怖在Xcode4.6下面举办工作,autolayout尝试着将拥有的东西混合在协同,造成的状态就是你在界面上边没反常,可是在常常意况下那不是您想要的,你只怕是想要让你的视图更小可能是其余;小编不得不认同autolayout在Xcode5之后有所改正,但自作者对此并不是很感兴趣

Raywenderlich

Tammy,塞萨尔e很反感autolayout,你有啥样想说的吧?

Tammy Coron

自家同样也不是autolayout的狂热观者,作者会尽量的将autolayout关闭掉,笔者在有的种类方面用过autolayout,但本人对autolayout提不起兴趣,你仍然能够利用Nib而不去行使autolayout,所以笔者觉着她的论证是无济于事的,抱歉XD

Raywenderlich

那么Felipe你是怎么对待autolayout的呢?

Felipe Laso Marsetti

无论你喜不喜欢,autolayout会始终存在着,大家将会有差异尺寸的装置亟需去适配,苹果平板mini、三星④ 、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是充裕清晰直观的,你可以写完之后立时运转,然后得出运维结果,你不须要深切到几个不等的质量编辑器当中,来搞驾驭那一个变量属性等等是怎样被安装的
最终一点本身想要说的是,Interface
Builder背后的见地是卓殊正确的,这些看法是想要让设计师运用来设计UI,不管是Nibs照旧StoryBoard都会让你直观的看到您的app长什么样子,似乎在有个别时候,你不要求有贰个填写着数量的tableview,作为贰个设计师,根本就不会必要3个填写着真实数据的tableview,设计师只想要知道app看起来何等,那不只是1个给设计师的工具,越来越多的是给那么些不想写太多代码的coder,That’s
all

Raywenderlich

OK!And Tammy?

Tammy Coron

如上所述,我觉得Nibs是最好的方案,越发是对于有创建力的人,知道Nibs背后的代码原理是必备的,然而你怎么要去浪费时间去跟代码较劲,Nibs相当的强硬;至于Story
Board,作者无能为力像对待VB那样对待它,它似乎僵尸一样(可能是狐狸精的意味)(苔米后边说了二个僵尸吃大脑的耻笑,听得不是很懂就没翻译了)

Raywenderlich

Awsome!Felipe?

Felipe Laso Marsetti

额,StoryBoard就是鹏程,似乎block,似乎A讴歌ZDXC,就好像一代又一代的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来连接其余事物,你应该每一遍只处理1个显示器,那样更包容你的Xcode窗口大小,不过StoryBoard占用了太大的空中

司机

大家都精晓使用StoryBoard可以至极不难的做出3个简短的行使,在AppStore当中五分之四的拔取都以属于简单利用,有许多的开发者都以业余的,包含自家也是,作者只是想出了越发好的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里进来视图与再次来到视图,你的控制器就是3个scene,所以您能够更进一步可视化的看待这几个,你可以明白的明亮本人会被带到那边去,自定义的view是独自的部分,你可以应用二个nib成立多少个自定义的view,然后重用相当频仍,同样要铭记在心,StoryBoard允许你重用你的控制器而不用在StoryBoard里面重复的去创立那些,你甚至足以行使code来创设,你不应有被界定到此地面去,当您结合nibs去行使StoryBoard的时候会越加的精粹

Tammy Coron

自家也足以由此看着连串的领航部分来保管本人的连串,那是自家的率先个视图,那是本人的第一个视图,等等,小编必要找到3个很好的理由让自身去采纳StoryBoard,作者同意关于StoryBoard就是今后的观点,不管大家喜不喜欢,autolayout就是鹏程的主旋律,不过自身实在很难喜欢上StoryBoard

Felipe Laso Marsetti

此间有一个很好的事例,作者2018年接替了贰个连串,包涵了五伍十九个ViewController,并且有一大堆的nibs,在本身初阶进献代码以前我不得不去深刻内部去讨论这么些事物,因为那些项目不是自作者写的,这几个体系早就做了1-2年了,在刚开头的多少个月作者一心迷失在那一个序列里面,作者只得去搞理解那么些nib文件之间的关联,那其实是拾壹分困难
而是倘使自个儿有三个StoryBoard,那么全数都将会清晰明了,这会省掉多如牛毛的年月;所以您应有至少使用StoryBoard来成立app的布局,然后再去具体的创制一些自定义的酷炫UI,拔取私下一种你欢乐的法子;当您接手二个大型项目的时候StoryBoard确实会帮你大忙

红衣四叔

笔者参加的品类具有百万行的代码,几百个视图,小编不亮堂大家是还是不是须要去行使StoryBoard,但是作者会去品味一下,你说的很科学

Cesare Rocchi

额,作者曾经有两三年从未去做大型项目了,当作者依旧记得那时候的悲苦,比如去处理盘根错节的结构体,尽管完全使用code来做的档次,要去处理那样那样的结构体也是一件特别拮据的事务,其实小编也同等是2个正视于视觉的人,不过自身并不想在Xcode上边以可视化的样式来做项目,作者更爱幸好PhotoShop或许Sketch上边去做这个工作,做1个美好的coder,你必必要明了各样东西,那是二个view那是三个button,这几个是否特别的灵巧等等,那就是干什么作者打开Xcode的时候,小编期望自个儿的第多个视图是2个空荡荡的模板
在小编的上三个类型当中,作者在3个很小的片段应用了NavigationController,不过自个儿添加的是自作者自定义的二个NavigationController,那是贰个自定义度很高的贰个app,在这些种类里面,作者完全看不出哪里可以应用StoryBoard,笔者都以用代码把全体消除,非凡的大致,而且可以很好的重用它们,我做的都以自定义度很高的app,唯一二个拔取到的视图模板就唯有tableview

红衣小叔

在自身的阅历看来,客户平日会给小编Photoshop文件,告诉本身这就是app要看起来的样板,然后您起来写代码,或然还有别的的法子,可是本人以为写代码是一种轻松的办法

Felipe Laso Marsetti

从自小编的经验不能够精晓在客户端同盟开发的时候会暴发什么,可是你获取3个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,你会选拔哪2个?

Brian Moakley

StoryBoard

Cesare Rocchi

Code

Matthijs Hollemans

StoryBoard

红衣岳父

StoryBoard

Felipe Laso Marsetti

从未有过须求问小编

Chris Wagner

StoryBoard

Raywenderlich

自作者也同等是StoryBoard

Tammy Coron

额,作者相当欣赏Nibs,所以作者会采用Nibs,可是如果要自小编在Nibs和code间做3个抉择,小编会拔取code,因为code可以做其余工作

Raywenderlich

OK!看来各位超过半数都是挑选了StoryBoard

总结

就小编个人而言,三种办法本人都品尝过,个人更偏爱采用code,当然依据区其他气象小编会结合各自的优点进行支付;如上所述,StoryBoard是前景,尽管还有不够完善的地点,不过相信苹果会将其做的愈益好,
Story福克斯d也会日渐显示出它的魔力

开展阅读

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