3.Eureka的代码布局
在这之前,我们先从总体上看看Eureka的架构,参考上面的代码。
首先我们看看Eureka代码的表现形式**,你会发现它和标准的IB中设计界面,绑定控件和事件,然后再写代码的逻辑不太一样**。
Eureka除非定制自己的Row,你基本用不着碰IB。UI+逻辑全在代码里!
我不知道大家有没有用过Ruby写界面?Ruby语言本身是不带界面库的,更不可能有界面设计器!但是Ruby可以自由方便的写任何富有表现力的界面:它借用丰富的第三方UI库妥妥的搞定它!这样做的很巧妙:既可以避开讨厌的平台兼容性又极富效率的重用了代码。
而Ruby的代码布局就和Eureka很像,类似于一种DSL语言,表现力强,即插即用!
这个特点有一个很大的好处,就是Row本身与Row设计弱关联。
设想一下你在Xcode的IB中从上到下依次布局设计了A,B,C三个功能完全不同的控件,其中还包括了多层的子控件,然后你设定好了它们之间的layout限制;不得不说,设计UI是个体力活,你刚累的四脖子汗流,现在需求要变了,UI要改了,顺序要变为C,A,B,你觉得应该咋办?哇!得