StoryMalibud也会日趋展现出它的魔力,Story福克斯d也会日趋彰显出它的魅力

前言

做iOS开垦的童鞋都应当会纠结1个标题,那就是在做开拓的时候是利用StoryBoard依旧选择Nibs又或许是Code(纯代码流)呢?笔者也不行纠结这些标题,后天碰巧在raywenderlich上边看到了几个大神之间的撕逼,哦不,斟酌之后,认为得到广大,于是就将他们商量的剧情整理翻译了一下,如有不当之处,还请多多原谅,原录制请戳这里

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

讨论

Ray Wenderlich

Ok!以往我们都在线,谢谢各位的到来,今天我们会有1个商酌有关iOS开荒的座谈,是挑选Storyboards、Nib依然Code,大家有四个志愿者,Cesare
Rocchi代表的是“Code爱好者”,Tammy Coron 代表的是“Nib爱好者”,Felipe
Laso 马尔斯etti代表的是“StoryBoard爱好者”,大家将从Cesare Rocchi初阶

Cesare Rocchi

率先,code是不行清晰直观的,你能够直接望着代码,你不供给打开愚钝的Nib文件,并且毫不浓厚钻研然后搜索某个繁杂因素到底关联了仍然不曾关系,这么些都很傻;当你在开拓多个大型项目标时候这种艺术要命的有用;当自个儿从多个crazy
guy那里接手1个门类,那个类型是用StoryBoard或然Nibs做的,最终作者会用code重写所用的事物,你能够在StoryBoard只怕Nibs设置好全数东西,可是末了你能够用代码重写全部的处境;举例你在多少个nib文件之中安装了一个lable,当您运转这几个app的时候这一个lable看起来与您设置的不太壹致,这是因为其余1人在后头增添了壹行代码改动了老大lable的属性

Tammy Coron

当听见她(Cesare
Rocchi)如此贬低Nib的时候让作者老羞成怒,作者作为二个主次媛有相当短一段时间了,笔者见过极度多的技士喜欢使用code的艺术来开拓的;但就自己个人来说,作者是三个万分依赖于视觉的人,作者爱不释手通过可视化的格局来进展编制程序,所以本身选拔使用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

优良不易的观点,今后轮到最后1人发言了,Felipe该你上了

Felipe Laso Marsetti

So,Cesare你就是个混蛋;苔米并不曾让自个儿认为到恼火,因为他很珍视可视化,而可视化就是未来,尽管code很酷,可是可视化将会是前景,不错,Nib恐怕更为的酷尤其的专断,可是以往自然是StoryBoard的大千世界,它能够让你成功一些Nib与code做不到的业务,当您在集结代码恐怕统一Nib的时候你还是会蒙受争辩,每当你触碰Nibs,Xcode就会并非理由的以为你改换了它,所以您要描述那样的更换,因为Xcode感觉它改换了,仅仅因为你看了它一眼

StoryBoard越来越好,不用再像Nib恐怕code那样职业,借使你使用code,你需求周转你的app,看布局是或不是站得住,然后回到改换布局属性,再运维app来看效率,不断的重新,那样成效尤其的低,也许使用Nib会有所改革,但是当您在做1个大型项目标时候,你会有叁四十个ViewController,那样你恐怕就会有四伍拾2个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非常慢很臃肿可能别的,未有丰盛壮大的证据来注脚那1部分;小编强烈提议使用StoryBoard,当要求的时候你能够使用code可能nibs,不过自身建议您尽量幸免去行使,因为StoryBoard才是王道

Raywenderlich

Awsome!十分棒的眼光!So,接下去每种人都有2个时机为和睦的见解进行分辨,那么,Cesare你有何要说的啊?

Cesare Rocchi

额,首先,若是当您想要合并Nib或许StoryBoard的时候,那大概正是恶梦,毫无意义,然后code要大功告成这一个是充裕轻便的,作为一个项目老板,笔者能够精通地看出后日代码都做了何等修改,不过像Nib恐怕StoryBoard,笔者无法把握它毕竟做了什么,到底是修复了bug照旧促成了某二个效益

还有正是,你在好几时候只怕会采取Xcode的beta版本来举办职业,你领悟Xcode在保管Nibs或然StoryBoard上面并不曾那么的智能,当自家张开项目的时候,beta版的Xcode修改了少数文件,导致了有着东西都破灭了,这就意味着你张开StoryBoard之后怎么样都不曾了,所以1切项目就全盘崩溃了

其叁点正是行使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是何许连接的,然后再去管理本身的代码;然而1旦您把全副都用代码来做将会卓殊的麻烦,要去设置这么那样的性质,oh
my
god,简直无聊死了,根本就是在浪费时间;笔者看不惯使用StoryBoard,使用StoryBoard的人就像僵尸同样,3个big
boy不应当去接纳StoryBoard,额,反正本人正是不喜欢XD

Raywenderlich

So,Felipe你是那里最年轻的分子,你也尤其欣赏僵尸,你有怎么样观点?

Felipe Laso Marsetti

额,作者正是一个僵尸StoryBoard用户,小编强烈建议使用StoryBoard,code是特别有至关重要的,有时候你不得不去写一些代码来形成那么些可视化完毕不了的行事,比如自定义UI,可是那几个都不是常用的,大多数时候使用StoryBoard就能够满足须求了;使用StoryBoard你能够丰盛有益的去设置成分属性,而不用去理会背后繁琐的代码;那全部的上上下下都表示StoryBoard是鹏程,那是苹果在用的事物

最终笔者想说,越少的代码就表示越少的火候将bug引进到你的app里面,就象是有500行自定义UI的代码,你能够将它们收缩到拾0行,这样你就足以制止掉400行并完全没有须求的代码,那样可以减掉bug,而且这样特别轻松的去维护您的代码,如若您是独立开拓,那么使用code或然对你影响非常小,不过假使您从外人那里接手项目,你就只能深刻钻研那些代码到底做了什么样,是怎么设置view的,什么承袭了如何,以及在nib里面有怎么着,你居然无法应用nib去创立三个富有static
prototype
cells的tableview,你必须去创制3个tableview的子类,新建.h、.m、以及nib文件,然后再去成立cell的子类,再新建.h、.m、以及nib文件,然后那么些cells在tableview当中是单身的,那样您就不得不去新建2个又3个的cell;但是在StroyBoard里面,只需求1个tableview,21个cells,然后boom~~,太称心满意了,节省时间,让客户端更轻松,更加少的bug,而且一切都以在可视化下完了的,你不用去不停的stop、run、stop、run,然后去看你的nib文件以及你的代码,僵尸赢了

Raywenderlich

不错的实证,有一点本身不住听到的正是,使用可视化的User Interface
Designer,你能够幸免越多的代码,能够缩小bug,你们怎么对待那些意见?

Cesare Rocchi

额,在autolayout出现以前笔者会同意那些视角,假如让本身对Interface
Builder进行打分(十分制),在过去我会给五分,当autolayout出现之后就唯有叁分了,我尤其恐惧在Xcode四.六下边实行职业,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、surfaceretina,autolayout能够扶持大家去完毕这几个适配,Nin与StoryBoard都得以让您可视化的去行使autolayout,你能够丰硕直观的在荧屏上开始展览布局,不过假设去行使code,那将会是壹件尤其麻烦的事情

运用StoryBoard在debug的时候你能够致极直观的来看,在Xcode伍上,你可以预览自身的布局,一旦你改动布局约束,退换设备的尺寸,你能够及时就看到结果,如果你利用code,你就不得不debug、run、debug、run,卓殊的费劲;就个人来讲,作者也不是尤其的喜欢autolayout,就算在Xcode5与iOS7过后有所改革,但依旧不是很好用,那些我们鞭长莫及,可是无论如何,使用Interface
Builder会好过使用code

Raywenderlich

OK!不错的实证,接下去会频频拓展半个钟头的研讨,塞萨尔e从您起来

Cesare Rocchi

code是老大清晰直观的,你能够写完事后登时运维,然后得出运营结果,你不须要浓密到五个不等的属性编辑器当中,来搞精晓这个变量属性等等是什么样被安装的

末了一点自家想要说的是,Interface
Builder背后的视角是不行不利的,那么些视角是想要让设计员运用来设计UI,不管是Nibs还是StoryBoard都会让你直观的旁观您的app长什么体统,就像是在多少时候,你不需求有多个填写着数量的tableview,作为三个设计员,根本就不会供给3个填写着真实数据的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,就如A奥迪Q5C,就好像一代又一时半刻的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个中五分四的选取都是属于轻便利用,有诸多的开拓者都以业余的,包含自家也是,作者只是想出了十分好的idea,但不明确要做出充裕棒的app,作者想StoryBoard就是为那些人图谋的

Chris Wagner

那是很好的有些

Tammy Coron

您能够只是是nibs来创设叁个StoryBoard,就如你怎样收十自身的类型一样,不过本身一筹莫展想像本身力所能及像使用Nibs那样去接纳StoryBoard,说实话其实自身并未怎么使用过StoryBoard,所以小编对于StoryBoard的大部见解都很牵强XD

Matthijs Hollemans

自家同一也是2个借助视觉的人,一样小编也爱不释手在可视化的角度去干活,Xcode能够变得比以后愈加的可视化,不仅仅是在组织Nibs和StoryBoard上面,Xcode还足以可视化的做过多的事体,举个栗子,可视化的操控UI元素,作者更爱还好Nibs下做这几个业务,小编不以为这种情势(使用Nibs)会被淡化,因为作者以为苹果并未花太多的心劲在和谐的开垦工具上,它恐怕只给了开销供给动用的最少作用,越发在与其它的IDE相比较起来的时候,笔者希望Xcode在今后会变得进一步的可视化

Felipe Laso Marsetti

等一下!你居然说苹果未有花心思在开辟工具上?╰(‵□′)╯

Matthijs Hollemans

额,确实,那一块对她们来说并不是很要紧,他们就算给了开拓者appstore,但是假使她们的确很推崇那壹块,他们相应会给我们更加多更实惠的工具

Felipe Laso Marsetti

那是二个值得研讨的地点,宗旨的主题材料是,不管你喜不喜欢,autolayout与StoryBoard都会不断存在,今年WWDC,苹果揭橥iOS八,大家将会看到苹果在StoryBoard以及Interface
Builder上边做的行事,可视化将会变得尤为的强大,有一点本人索要思考的正是是还是不是要在大型项目中选用采用Nibs,StoryBoard是以ViewController为根基成分的,而Nibs是以View为底蕴成分的,三个nib正是一个view,这样在上马利用的时候会有点不适应,因为您想要创建1个自定义的view,然而你又不可以在直接在StoryBoard里面达成

其它关于苹果专注于appstore等主题素材,那些是实际,可是切记,苹果也明确了任何UI、开荒了StoryBoard、Interface
Builder,他们创制那921分之百生态链;别的关于StoryBoard,你可以用来创制分外简单的app,境遇复杂的app,你或者会去挑选Nibs,笔者觉着那是荒谬的,你仍旧会在集结的时候碰着争论;作者想说的是,尝试一下,要是您需求帮衬,来本身这里,你精晓在哪个地方能够找到小编;使用StoryBoard,你真的能够做出卓殊复杂的品类,质量难题根本无需去担忧,在现行反革命的5与5s方面就愈加完全没有供给去惦记那几个题目了

Tammy Coron

StoryBoard让本人备感艰巨的是,你不得不在协和的app上边创立自定义views,为何本身要浪费时间去选取StoryBoard,作者用Nibs就足以完全解决了

Felipe Laso Marsetti

因为StoryBoard可以越来越好的田间管理你的视图,当用户在app里进入视图与再次回到视图,你的调控器正是贰个scene,所以你能够特别可视化的看待这几个,你能够精通的知情本身会被带到那里去,自定义的view是独自的一部分,你能够行使3个nib创造叁个自定义的view,然后重用相当频仍,同样要牢记,StoryBoard允许你重用你的调整器而不用在StoryBoard里面重复的去创制那一个,你居然足以应用code来创制,你不该被界定到此地面去,当你结合nibs去接纳StoryBoard的时候会进一步的可观

Tammy Coron

自家也足以因此望着品种的导航部分来保管本身的品种,那是本人的率先个视图,那是自己的首个视图,等等,小编急需找到一个很好的理由让小编去行使StoryBoard,小编同意关于StoryBoard就是鹏程的见识,不管大家喜不喜欢,autolayout便是现在的势头,然而小编实在很难喜欢上StoryBoard

Felipe Laso Marsetti

此间有2个很好的例子,小编二〇一八年接任了1个品类,包涵了伍六十三个ViewController,并且有一大堆的nibs,在自小编起来进献代码在此以前本身只得去深切内部去研商那一个东西,因为这么些连串不是自己写的,那些体系早就做了1-二年了,在刚早先的多少个月作者完全迷失在这几个项目里面,作者只可以去搞理解那么些nib文件之间的关联,这实际上是尤其不便

可是只要自个儿有二个StoryBoard,那么1切都将会清晰明了,那会省掉数不尽的年华;所以您应当至少使用StoryBoard来制造app的布局,然后再去具体的塑造一些自定义的炫丽UI,选拔擅自1种你欢悦的不二诀要;当你接手多少个大型项目标时候StoryBoard确实会帮您大忙

红衣四叔

自个儿加入的类型具备百万行的代码,几百个视图,我不清楚我们是还是不是须求去选择StoryBoard,可是笔者会去品尝一下,你说的很不错

Cesare Rocchi

额,小编1度有两三年未有去做大型项目了,当作者依然记得这时候的痛心,比方去管理千头万绪的结构体,固然完全使用code来做的种类,要去处理那样那样的结构体也是壹件尤其不方便的事体,其实小编也如出1辙是三个依赖于视觉的人,不过自身并不想在Xcode上边以可视化的情势来做项目,笔者更欣赏在PhotoShop也许Sketch上面去做这一个事情,做3个特出的coder,你不可能不要知道各类东西,那是四个view那是一个button,那些是否尤其的灵活等等,这正是为何本人展开Xcode的时候,作者希望本身的率先个视图是二个空白的沙盘

在本身的上3个种类个中,笔者在3个相当的小的有些应用了NavigationController,不过自个儿增加的是自身自定义的1个NavigationController,那是一个自定义度异常高的1个app,在那个类型里面,笔者完全看不出哪儿能够运用StoryBoard,作者都以用代码把任何解决,分外的简短,而且能够很好的录取它们,作者做的都以自定义度异常高的app,唯13个使用到的视图模板就唯有tableview

红衣伯伯

在自己的阅历看来,客户平日会给本身Photoshop文件,告诉作者那便是app要看起来的规范,然后您从头写代码,或然还有任何的秘籍,可是本身以为写代码是一种轻易的章程

Felipe Laso Marsetti

从自身的经历不能掌握在客户端协作开辟的时候会生出什么样,不过你拿走二个Photoshop文件,你赚取一个须要文书档案,然后对您说那正是app要看起来的表率,然后视图A到视图B是什么的,视图B到视图C又是什么的,把那么些做出来,告诉你按期,然后拜拜

额,你利用code也许Nibs来做会很酷,不过你能够使用StoryBoard来做那几个东西,就终于万分复杂的UI也能够形成;在自己的商铺里面,日常会有自定义UI的急需,大家兴许需求接纳非常多的工具,包蕴code以致是PaintCode,以及别的能够变动可视化的UI的工具,Nibs或许是StoryBoard,可以运用StroyBoard作者会非凡的欢喜,能够观望本身行使了StoryBoard完结了一个有1个的天职

Brian Moakley

咱俩谈谈了autolayout,研讨了StoryBoard,并且现在认为它们正是前景,不过,一年之后,大家大概又会说别的的事物是现在,所以,大家应该重新思量大家的app到底是哪些运转的,知道那么些新技术确实很不错,能够进步大家的工效,不过自个儿想,精晓什么行使code来完结具有事情是很精明的

Felipe Laso Marsetti

iOS7给了大家五光十色的机会去尝试StoryBoard,以致是Nibs,假诺您拒绝利用StoryBoard,恐怕因为你今后会动用壹种胡说八道于与未来的点子来创立app;既然你未来有3个时机来解脱原来那么繁琐的支出进度还要尝试新的工具以及使用iOS7推动的全新UI,为什么不试一下呢?

红衣大伯

2个很好的尝尝StoryBoard的说辞正是使用StoryBoard能够动态调度尺寸来适应不相同的装置,而autolayout将会是最棒的缓和方案

Cesare Rocchi

本身并不爱好StoryBoard也许是Nibs,不过本人不得不去领悟它们,尤其是本身在教学的时候,不管是教autolayout照旧Nibs,我都会建议您去学学怎么着运用代码来成功那整个,Nibs或然是StoryBoard做了重重的干活,你相信着那几个工具,然而却不明了它们背后的代码原理是怎么,它们在悄悄做了怎么着事情,那很不佳;若是你想要成为一名专门的学问的iOS开垦者,作者想你最棒通晓多姿多彩的开荒方法,无论是StoryBoard、Nibs照旧code

Felipe Laso Marsetti

那边有2个很好的事例来验证清楚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间做1个抉择,小编会采取code,因为code能够做别的专门的工作

Raywenderlich

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

前言

总结

就小编个人来说,二种艺术自己都尝试过,个人更偏爱采纳code,当然根据不相同的光景笔者会结合各自的独到之处进行支付;如上所述,StoryBoard是鹏程,就算还有不够健全的地点,可是相信苹果会将其做的越来越好,
StoryFITd也会慢慢展现出它的魔力

做iOS开垦的童鞋都应当会纠结二个标题,那正是在做开辟的时候是使用StoryBoard仍旧使用Nibs又恐怕是Code(纯代码流)呢?作者也丰裕纠结这些题目,前几天碰巧在raywenderlich上边看到了几个大神之间的撕逼,哦不,钻探之后,感到得到广大,于是就将他们商酌的剧情整理翻译了1晃,如有不当之处,还请多多包括,原摄像请戳那里
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文件,并且永不深切钻研然后寻找一些扑朔迷离因素到底关联了还是未有涉及,这么些都很傻;当你在付出二个大型项目标时候那种办法越发的有用;当本人从3个crazy
guy那里接手二个品类,那些种类是用StoryBoard也许Nibs做的,最终小编会用code重写所用的事物,你能够在StoryBoard或然Nibs设置好全数东西,可是最终你能够用代码重写全体的情景;比如你在1个nib文件之中安装了2个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会有所改进,可是当您在做八个大型项目的时候,你会有三3十五个ViewController,那样你大概就会有四4九个Nib文件,那会非凡的讨厌,因为您要更小心的做一些修改
唯独StoryBoard不仅能够让您防止写第一次全国代表大会堆无聊的代码,乃至是制止这些要在Nib下写的代码,比方动用segue和unwind
segue,你能够经过壹多级的delegate方法来传输数据,你能够安装转场动画,你以至足以自定义动画
我们都觉着我们只可以在多个StoryBoard上面职业,可是其实大家能够在时时刻刻四个StoryBoard下面专门的学业;当大家在开拓公司级客户端的时候,大家普通都是叁-7人的组织,大家会有13个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 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

额,笔者正是1个僵尸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个中是单独的,那样您就不得不去新建2个又四个的cell;可是在StroyBoard里面,只需求一个tableview,21个cells,然后boom~~,太正中下怀了,节省时间,让客户端更轻松,越来越少的bug,而且1切都是在可视化下完结的,你不用去不停的stop、run、stop、run,然后去看你的nib文件以及你的代码,僵尸赢了

Raywenderlich

科学的实证,有一点本人不断听到的正是,使用可视化的User Interface
Designer,你能够制止更加多的代码,能够减小bug,你们怎么对待那个理念?

Cesare Rocchi

额,在autolayout出现在此之前小编会同意这几个理念,假如让自个儿对Interface
Builder实行打分(十一分制),在过去小编会给伍分,当autolayout现身之后就唯有叁分了,我越发恐惧在Xcode四.6上面实行专门的学问,autolayout尝试着将持有的东西混合在1块,形成的景况正是你在分界面上边没不常常,然而在一般状态下那不是你想要的,你大概是想要让您的视图越来越小依旧是别的;小编只得承认autolayout在Xcode5之后有所改进,但自己对此并不是很感兴趣

Raywenderlich

Tammy,Cesare很反感autolayout,你有哪些想说的吧?

Tammy Coron

自个儿同样也不是autolayout的纵情的集会观者,笔者会尽量的将autolayout关闭掉,作者在1部分门类方面用过autolayout,但小编对autolayout提不起兴趣,你依然能够行使Nib而不去采纳autolayout,所以自身觉得她的论证是低效的,抱歉XD

Raywenderlich

那么Felipe你是怎么看待autolayout的吧?

Felipe Laso Marsetti

不论是你喜不喜欢,autolayout会始终存在着,大家将会有例外尺寸的配备亟需去适配,iPadmini、黑莓4、4s、三星平板retina,autolayout能够援救大家去做到那一个适配,Nin与StoryBoard都得以让您可视化的去接纳autolayout,你能够丰富直观的在显示屏上进展布局,但是倘使去行使code,那将会是1件尤其麻烦的政工
动用StoryBoard在debug的时候你能够11分直观的来看,在Xcode五上,你能够预览本人的布局,一旦你改造布局约束,更改设备的尺寸,你能够及时就看到结果,假若你选拔code,你就不得不debug、run、debug、run,卓殊的麻烦;就个人来说,我也不是那些的喜欢autolayout,即便在Xcode5与iOS七从此有所革新,但如故不是很好用,那一个大家不或许,不过无论怎么样,使用Interface
Builder会好过使用code

Raywenderlich

OK!不错的实证,接下去会频频进行半个钟头的商议,Cesare从您起来

Cesare Rocchi

code是可怜清晰直观的,你可以写完事后立刻运转,然后得出运营结果,你不须要深入到八个不等的本性编辑器在这之中,来搞驾驭这一个变量属性等等是什么样被设置的
最后一点本人想要说的是,Interface
Builder背后的视角是特别科学的,那几个观点是想要让设计师运用来设计UI,不管是Nibs照旧StoryBoard都会让你直观的观察你的app长什么体统,就好像在有点时候,你不供给有三个填写着数量的tableview,作为二个设计员,根本就不会须要1个填写着真正数据的tableview,设计员只想要知道app看起来何等,那不光是一个给设计员的工具,更加多的是给那几个不想写太多代码的coder,That’s
all

Raywenderlich

OK!And Tammy?

Tammy Coron

总的看,小编感到Nibs是最佳的方案,尤其是对此有创制力的人,知道Nibs背后的代码原理是少不了的,然则你干什么要去浪费时间去跟代码较劲,Nibs13分的强硬;至于Story
Board,作者壹筹莫展像对待VB那样对待它,它就好像僵尸一样(恐怕是异类的情致)(Tammy后边说了三个僵尸吃大脑的调侃,听得不是很懂就没翻译了)

Raywenderlich

Awsome!Felipe?

Felipe Laso Marsetti

额,StoryBoard就是鹏程,仿佛block,就如A智跑C,就像一代又一代的Xcode与iOS同样,苹果以往把精力都坐落了StoryBoard下面,他们尚无在Nibs下面更新太多的东西,他们平昔不再加新功用进入,你能够百折不挠接纳Nibs或许是code,然而使用StoryBoard你能够节约大批量的岁月,你能够在StoryBoard上做出卓殊复杂的UI,segues、unwind
segues、custom
segues,你依旧足以让StoryBoard与Nibs和code一同工作,更加少的bug,你应当去尝尝一下
可是你们很四人还是在动用code和Nibs,因为你们很执着,你们喜欢老的不2秘籍,害怕退换,说实话,小编在常常工作中间总是在应用StoryBoard,我们在巨型的协作项目中应用它,它连接最趁手的工具
在大部动静下,就小编的经验来讲,小编大概是二个年青的僵尸,StoryBoard正是自己的工具,StoryBoard可以变成的事你是能够用Nibs和code做到,不过切记,那是在苹果在WWDC上面建议来的事物,把StoryBoard和Nibs混合起来会职业的很好,那正是苹果在做的作业,StoryBoard正是最佳的工具,所以,请别阻止你和谐去尝尝那壹项美好的新手艺,你只怕仅仅只是害怕做出改换,你只须要花一点十分小时间,你就会感受到StoryBoard的光明之处

Raywenderlich

Awsome!感激各位的解说,那么各位有啥样难题想问的啊?

Matthijs Hollemans

只要你把富有的东西都位于StoryBoard里面,你就需求三次性的弄驾驭这一大堆的事物,作者觉着像Nibs那么被分割会更加好,允许你利用segue来连接其余事物,你应有每回只管理三个荧屏,那样更包容你的Xcode窗口大小,然则StoryBoard占用了太大的空间

司机

大家都知情使用StoryBoard能够卓殊轻松的做出一个简练的行使,在AppStore在那之中十分八的采纳都以属于简单利用,有广大的开采者都以业余的,包涵本人也是,作者只是想出了极度好的idea,但不肯定要做出越发棒的app,作者想StoryBoard便是为那么些人希图的
Chris Wagner

那是很好的一些

Tammy Coron

你可以唯有是nibs来创设一个StoryBoard,就好像您怎么收10自个儿的种类同样,可是本身1筹莫展想像本身力所能及像使用Nibs那样去行使StoryBoard,说实话其实自身并未怎么使用过StoryBoard,所以笔者对此StoryBoard的繁多视角都很牵强XD

Matthijs Hollemans

本人同一也是一个倚爱慕觉的人,同样笔者也喜爱在可视化的角度去办事,Xcode能够变得比今日更是的可视化,不仅仅是在公司Nibs和StoryBoard上边,Xcode还能可视化的做过多的事体,举个栗子,可视化的操控UI成分,作者更爱幸好Nibs下做那一个业务,笔者不感到那种办法(使用Nibs)会被淡化,因为自个儿认为苹果并未花太多的意念在友好的开辟工具上,它大概只给了支出须要采用的最少成效,尤其在与任何的IDE相比起来的时候,作者期待Xcode在未来会变得越来越的可视化

Felipe Laso Marsetti

等一下!你乃至说苹果未有花心理在开采工具上?╰(‵□′)╯

Matthijs Hollemans

额,确实,那1块对她们来说并不是很入眼,他们固然给了开荒者appstore,然则只要她们真的很着重提出那一块,他们应该会给大家愈来愈多更管用的工具

Felipe Laso Marsetti

那是三个值得探讨的地方,宗旨的标题是,不管你喜不喜欢,autolayout与StoryBoard都会随地存在,二零二零年WWDC,苹果公布iOS8,大家将会见到苹果在StoryBoard以及Interface
Builder下边做的做事,可视化将会变得尤为的兵不血刃,有一点自身急需思虑的正是是或不是要在大型项目中挑选选择Nibs,StoryBoard是以ViewController为根基成分的,而Nibs是以View为根基成分的,贰个nib正是二个view,那样在先导选取的时候会有点不适应,因为你想要成立2个自定义的view,可是你又不可见在间接在StoryBoard里面完毕
其它关于苹果专注于appstore等难题,这么些是实际,可是切记,苹果也规定了全部UI、开拓了StoryBoard、Interface
Builder,他们制作那1全勤生态链;此外关于StoryBoard,你能够用来创立万分轻易的app,境遇复杂的app,你也许会去挑选Nibs,笔者认为那是一无所能的,你依然会在群集的时候遇到龃龉;小编想说的是,尝试一下,倘若您须要接济,来作者那里,你掌握在何地能够找到笔者;使用StoryBoard,你真的能够做出万分复杂的类别,质量难点历来无需去忧郁,在现行反革命的5与5s上边就特别完全没有须求去顾忌那个难点了

Tammy Coron

StoryBoard让本身备感劳苦的是,你不得不在和煦的app上面成立自定义views,为何本人要浪费时间去行使StoryBoard,作者用Nibs就足以完全化解了

Felipe Laso Marsetti

因为StoryBoard能够越来越好的田间管理你的视图,当用户在app里进来视图与再次来到视图,你的调控器正是1个scene,所以您可以更进一步可视化的对待这个,你能够知道的领悟自个儿会被带到那里去,自定义的view是单身的一些,你能够使用三个nib创设一个自定义的view,然后重用卓殊频仍,同样要铭记,StoryBoard允许你重用你的调控器而不用在StoryBoard里面重复的去创立这么些,你以致能够选拔code来创建,你不该被限制到那里面去,当您结合nibs去行使StoryBoard的时候会尤其的能够

Tammy Coron

作者也可以因此望着种类的领航部分来管理本身的等级次序,这是自家的第多少个视图,那是自己的第三个视图,等等,作者索要找到三个很好的理由让自个儿去行使StoryBoard,作者同意关于StoryBoard正是鹏程的意见,不管大家喜不喜欢,autolayout正是以后的可行性,然则本身的确很难喜欢上StoryBoard

Felipe Laso Marsetti

此地有三个很好的例子,作者二〇一八年接班了三个类型,包括了伍610个ViewController,并且有一大堆的nibs,在自身起来进献代码在此以前作者只能去深刻当中去探讨那些事物,因为这么些体系不是笔者写的,那个体系已经做了一-2年了,在刚开始的多少个月作者一心迷失在那么些项目里面,作者只好去搞明白那些nib文件之间的涉嫌,那其实是分外困难
只是只要笔者有二个StoryBoard,那么万事都将会清晰明了,这会节省看不完的小运;所以您应有至少使用StoryBoard来创设app的布局,然后再去具体的造作一些自定义的炫丽UI,选拔专断一种你喜欢的方法;当你接手一个大型项目标时候StoryBoard确实会帮您大忙

红衣三伯

本身参预的系列全数百万行的代码,几百个视图,笔者不明白我们是还是不是必要去采用StoryBoard,不过笔者会去尝试一下,你说的很不利

Cesare Rocchi

额,作者1度有两三年未有去做大型项目了,当自家照旧记得那时候的惨痛,比方去管理千丝万缕的结构体,固然完全采纳code来做的花色,要去处理那样那样的结构体也是壹件10分劳累的事务,其实笔者也1致是贰个借助于视觉的人,可是自己并不想在Xcode上边以可视化的格局来做项目,笔者更爱幸而PhotoShop大概Sketch上边去做这一个工作,做3个地道的coder,你无法不要清楚各样东西,那是一个view那是四个button,那些是或不是越发的利落等等,那即是干什么本人张开Xcode的时候,作者梦想本身的第一个视图是二个空手的模版
在本身的上3个类型个中,小编在多个十分小的片段使用了NavigationController,但是自个儿加多的是自己自定义的叁个NavigationController,那是二个自定义度相当高的二个app,在那个连串里面,笔者一心看不出哪儿能够采用StoryBoard,作者都是用代码把全副解决,卓殊的简短,而且能够很好的选取它们,我做的都以自定义度极高的app,唯①1个采用到的视图模板就只有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

iOS七给了豪门有滋有味的机遇去尝试StoryBoard,以致是Nibs,假诺你拒绝利用StoryBoard,可能因为您未来会使用一种何啻天壤于与过去的章程来创立app;既然您未来有一个机遇来解脱原来那么麻烦的支付进度还要尝试新的工具以及采用iOS七推动的全新UI,为啥不试一下呢?

红衣二叔

贰个很好的尝尝StoryBoard的说辞正是利用StoryBoard能够动态调治尺寸来适应不一致的配备,而autolayout将会是最棒的缓慢解决方案

Cesare Rocchi

本身并不喜欢StoryBoard可能是Nibs,但是本身不得不去掌握它们,越发是自己在教学的时候,不管是教autolayout照旧Nibs,小编都会建议您去学学怎样行使代码来成功那总体,Nibs可能是StoryBoard做了无数的干活,你相信着那些工具,可是却不晓得它们背后的代码原理是怎么,它们在悄悄做了何等业务,那很不佳;要是你想要成为一名专门的学问的iOS开辟者,笔者想你最佳领会丰富多彩的开荒方法,无论是StoryBoard、Nibs照旧code

Felipe Laso Marsetti

此地有贰个很好的例证来验证清楚code的方法很入眼,有众多个人时常会问一些标题正是怎么本人的视图不只怕切换、为何dataSource不起效能等等,知道如何利用code会很好的增加援救您消除这几个标题,1旦你知道什么行使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间做2个摘取,作者会选取code,因为code能够做其余工作

Raywenderlich

OK!看来各位大多数都以挑选了StoryBoard

总结

就小编个人来讲,三种办法自己都尝尝过,个人更偏爱接纳code,当然依照不一致的现象小编会结合各自的帮助和益处实行付出;如上所述,StoryBoard是今后,纵然还有不够健全的地点,不过相信苹果会将其做的尤为好,
StoryGIENIAd也会逐步突显出它的吸重力

举行阅读

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