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要成功那一个是可怜轻松的,作为一个项目COO,我可以理解地观望明天代码都做了怎么修改,不过像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会始终存在着,大家将会有例外尺寸的配备亟需去适配,GALAXY Tabmini、Samsung4、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会始终存在着,我们将会有分化尺寸的配备亟需去适配,iPadmini、索爱4、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

相关文章