From 835feb0905348229ba5dc8132106eb41c6abadcc Mon Sep 17 00:00:00 2001 From: Max Sokolov Date: Sun, 29 Nov 2015 23:37:16 +0300 Subject: [PATCH] test register nib --- Tablet/TableDirector.swift | 14 ++++++++++++++ Tablet/TableRowBuilder.swift | 6 ++++++ .../UserInterfaceState.xcuserstate | Bin 25883 -> 26666 bytes TabletDemo/TabletDemo/ViewController.swift | 4 +++- 4 files changed, 23 insertions(+), 1 deletion(-) diff --git a/Tablet/TableDirector.swift b/Tablet/TableDirector.swift index daacd4c..28379b1 100644 --- a/Tablet/TableDirector.swift +++ b/Tablet/TableDirector.swift @@ -73,6 +73,20 @@ public class TableDirector: NSObject, UITableViewDataSource, UITableViewDelegate builder.0.invokeAction(.custom(action.key), cell: action.cell, indexPath: indexPath, itemIndex: builder.1) } } + + func registerNibs() { + + let bundle = NSBundle(forClass: UITableViewCell.self) + + if let _ = bundle.pathForResource("cell name", ofType: "nib") { // existing cell + + tableView.registerNib(UINib(nibName: "", bundle: bundle), forCellReuseIdentifier: "") + + } else { + + tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "") + } + } } extension TableDirector { diff --git a/Tablet/TableRowBuilder.swift b/Tablet/TableRowBuilder.swift index 390e668..9d1b418 100644 --- a/Tablet/TableRowBuilder.swift +++ b/Tablet/TableRowBuilder.swift @@ -141,4 +141,10 @@ public extension TableRowBuilder { items.removeAll() } +} + +public func +=(var left: TableRowBuilder, right: T) -> TableRowBuilder { + + left.appendItems([right]) + return left } \ No newline at end of file diff --git a/TabletDemo/TabletDemo.xcodeproj/project.xcworkspace/xcuserdata/maxsokolov.xcuserdatad/UserInterfaceState.xcuserstate b/TabletDemo/TabletDemo.xcodeproj/project.xcworkspace/xcuserdata/maxsokolov.xcuserdatad/UserInterfaceState.xcuserstate index fe73904c54da62879bf88243451797d9012e509f..128e146fecfed47a8333fb56e4cc8352000da13a 100644 GIT binary patch delta 13455 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 AYybcN delta 13124 zcmaJ{2Yi!7|9|eD)ixbz(l$-nq)kVI8L?Iz@d+eM4QKE>l;i z->4hZP3m{*Prw5Y;0e5d0C)o*;0ydf2nYpops<555Dt_e0;quo7(g0G2VFoW$OU;I zAJ{+%CtH@u032W`SO!*uHQ;Tq z7OV%m!5**|>;s>G{oqq@0GtG;z-e#>dwGgm1#PU>khbaR>CXkD^D@P4pPL znI21zqsP;e=*jdP`c?WhdM-VWex06AFQu2!%jp)njc%vc&~MXg>2>rTdM~|?{)FC7 ze@Y*q57LL|&*;PS=k#&<6#XTAj=o6$K>terM&F?C(0A#-8Nfh>W(15k4FO(K80d$e5UJOg59lSQsl)$@FA;F};~SOkbuSQ_a*cBbi2K6f>G> zV#YAznF-7kW;QdId4p+V+L;b!Ewi54%4}n{GrO4G%n{}&^Eq>j`GPsae94?=E;Cn{ zADFAmHRc9$llh(bllh0a&pcoYS(amY)`RtAeOVD3!A7!CY&5H4W7t?Wj!j~;v{8 z=fw#)Z_bC4axyN23+3dTf(zpkI5nr?61gN!%jq~hm%(LnSzI<(%ys8VxKgf+E9WY> z9^4?VnycYPa*f<5ZZtQQo5tC>Iozw4g3gxB;UwS zyX$ zgG|Q=b~>v^dSuvgn_UG`^+=1Zpr0|&VbB#NVUUSI7BUR5<(bX3_05e<*-drTRYD=T zt{B!hzI*k!`k~dN*)i24#PKb^!rqVc^r)^Ws;;SPI7N9!<_EHYFH#pH2$bwjGhHZYIDk*Nu1h zc}g8`c`Cd1ZK$5uIJUV*Q(fH?h|{PUl&XWWQ;5RUbfiKtC>F(aP&26)sh6l(C>|M6 zGD<-P#}sL|cxo=?a1NhGy-v-i7N7*AMjDjZK~U#YZ&FbNsTS#+R&`vKj_>awB<0a* zh?SInCGzz=Nf{{<)j_Qy_`6pWk8Q55X{gJqAKYBuII_BFVms+tO{MnlUh%B$3C_2v zb(E@=T8m7rR6co#!C{xlMbswhJ!kV~l-f#dL20CUgG{QWKBTs{Q6Ev;P&&#&xld&5 zpmtNDHfkre3w1$V+o(O%Uepa`piD=)QRxT{5!u}US5t@DoIsx3cbNM8x%-Y$U!ZK1 zgEIS+*AE@$GI34&ChO8t4eD_1)H5Iw zL{S0|4OAco#DX{wPvtuQ z$Z^w`qbosA$KSph(903ymy{4+KeE0#c353C!QG?2xuGt7NMmF3liy8^;~(oZCOyv4 zEj~UU^dlhpgYIA;DC*U{BC)1=OkF?n-Bj05-CRGe4pE4}aBE%-YAU-|5QJ@@no4zL zDySua1L{zdLnl>=Ks|VYgd!M@np;5w8v8iCz$lVlU^Hk#^7u37yjfOaznA zcr<~8!HE!APhbbrpX;6hW}-=GGRmwH`nif3sbZvRIqO(tR?{d~Ha!kr@Cta9Qni8E zU=Es!rnQ0Bz+7ZUh~W9hGp8850TwyC7m}R8$l3-LgC%G>T7wLIvKxr4MpidJsdr#G zXeH?bTEGgh63sv}(TnY%jrg+zy+r)E%9TFVJ-|9@dn9Gd{myt3U-v+(|-=igH+0!xregM~;9=(d*Y6aKPQfJ{2 zjdV?BBu#A1bt9@qR*$Hw5{BhAj&vZOQ0WsF{0eS3Z~P4{Zv{6|3(@Dik4^j}=>K#E zJzD7sZ(Zh4nk1fMs*lt$%CFe|EF%AOMc+ynJ_v}3Aw;WDZj~@#vQtOxRCV}dqbbd) zt$ym%$4`bF^!iViK>?KyebC#)Wv5Z5Tb__aF7!uhpXv$&U?_1}m;cviP!1I^42DA` zjDV479eM}tM<>uhbP}B+I_?r0^)Lo%DA6hy3*%rsOn_?iE?SQ^pp9tLDwqh9pc?9+ z9&JWj&?fXg`j9wpPr@9>Mt{~5raM7(LGL+s`iF{O7R(_wgxP3oE6hb75czg>sDl>? z^)MfHr&Oz;4Hm#cSOkmFM`#<`jy^^^R>2Zj3d>+QtUx=_F0>o%L7$LYZK6d!a3FCq ztb&8kUbN5gt0>G4>);SdwQ?mgbgHbd9u9X_RyYEEfj)Ir)njg>HIlLlN5Rps2^~P6 zp`%aBDzV2nQvMF2L(VGd=bV8O#}K|Vv8J)QsaD85u7z+ioI-{jMn~MW(9%#x_{fMx zAz661$}_~SV)^-h6ic!Fk^Ap)0Kr+V06OjrpekXNqcz9m$cPm>Rt40CJ&hkY%N0Mz z-Ov{}P3u5s9I=7n61WI1cB_3FE``hBa!LSOKzD~Gbg(z*4qMC;<(EXe}G^%NJJ^5)z6-}u58hQ|2P1n$a z=~}vu9)banfd>Yj7=pOiK9Fha=*EvFlt6c+qKKOHR*K@NL_zyTwp9ZMsII&vbSdb<2bPoTE1M7gC;&`+TW1z$~1rKiz$ z8qt`Zj)6Z0A`HYB1Yi(|LC|XICHh6e@`~w~sbZ9jfrNw`aX}bCVsK22Y*j6w-=tLS zw1a+wUWh?322u=U?erpodkF?1PP_^-G%sq3eg)myO0UEq6a#rDFStkn-9fJ+1pF~K zuc&KoCoQWTe?)14%liqG**udyDR1_m)LYPoS&M25Lr_XH|MqwC(p$WsD81^C(_r>;g zbd4Jl6US&s#4zzp0z+I;fI%S!MeR%?lf-B-D8`@xgSAcs0qG7p{smn!ljcO3!lYu* z9fQ&~CY|YmK{*DsB;lSBPbSM*rZFgStcY(2d|JI3v%9&hbA7K%h)Bz4oKqiTV+xo; zridXAuE3xN29+3)WbUJTCb`SflZL4bN!)+u19^c3i_#-fAY-8SI zhyzAr@app(|H$pykyXMhGIc8*D-xBWXO7?L?j1!IKB;6@_j63v3A#Q}Zx8dS(@}ew zeat7!ehiv07=uAG24g#z1I$6@5c3%Z<1j!NU`+TwnTBE=)dsQS7rn)?Eoq?mICIh& z04FdQ-^!fAU;=R_*#t;t&XVbp`HDG*!9)zEJxz4x8|EU(M&<(ZEe4Y?nB2x(V!p#* z3IfPcwg! zH6U3DGIyA}%-_ttK4a<{+^bIvUc_J~1~V|2T_wzZY^X5Di#mS=^N`(tT(Dsir8YeZZ7+>rNq8$83wJL?929GE7_jRJq$W9 zXvd(9ShZ7t`8ujhzVd!7DGqIHe}>fCRm8AuY!y2QgVh+2#i3)i$rLt(B|N}MmmkL? zJDi$U;_pu5#Gb#eGERp;3EvSW3U5*T^Q`aU>^n~ zd=Fr72!q2I9CgZ=#@boLVn=#%Xb}d-F!&OKuQ4Fe_9F%)n#crl7lZp4Ji-uS$YJP( zp)ZF17zSb(jA8h5dB(os&ZKu7o6`q5{8A#HRabV2yK8-wu+L-m93AwmCbKQ>?u}K# z0Z+;G{S?`=EM?o>BQ|e|O)UkT+TV7!Z*dH&w1z%SYIeQ5d25yM!y)x#TOujR@mtRZ zN1t>{Cs6OX2Ypy2oa)Hzn&LoR@;mi@=vtkQx9*)4JMM1(#G%Wq?=<|3yZKY{+!>vk zzjiktBr#SY?qt}D?)J|dC%X3QH2jLY`G|wbdAXCyKf0SguM*l^D)%T3)Um&?zmpQk z{>uKw-e7NH@C63PF(3u)WC!~Pdy6V&Nt}?%cG}67&XB;}XrAn7&sEsjM;t@${I8uj zj^#M2nDfBkECydW?>dJJk=Z-Av@H{c#`JNnwe|Ys6z7J5*63V!KMsD*mlG3toF6CT z{5cT@=P~#Og9{jZ+rb5Jfo>!hF}UPH;w1lMhcABzy>@2eBdKej!lctbl@`uLJEbYP z2riO~!r*%h2=Tgt!4Dmrii;r#<1o02!8NC}>yPzf%&~R@m-?@2rE%%xrmh(Lgu&0w zn|^Vtl}>$I+Tl`5mzJz|?k=Wi^_}&~;jB(1xm+G+<}4WehQSRCh^c??;PN>e5lXnv z9~j(n3cc;ttHoZ)^>xDd&&?XHAJ^Y)iN7$oaQc-jBSN?y`bj|IDU?IVThO zZy(ij!^v|A$NC$Cdrm3;JXQw!zx!_A$tfl~@sdGnAnF*B4P;Z~naCz?JQ4Y?0mDt; zCc42rz~JFCaDQrt-tnF9vXMcjH9qwb;$Hk;qU_vD+$@(YNMQ&%$;vMJX2y8ehAx4n z*QTUA6*rf2o)7%D$==`=5@i=*NMpzlNsz43h{^tH>7TTDE+H$rR6`2c57z69sZ;xr z%QRD(f$0BC<>g!(5&Z8SZ0E=U1h*PP9zzeOa8H-;yC*i?6)z?*P1+P9IyJ>eOsP*c zJQwlra)jdid&Cdp-s83q!CNsDVCd}>?Bj9~z1CixIOg%ToPlIfihD2nNfv#~?fG9e z<@R#>+$QzIQ25xSj;WRq`)AxSr{(^0Q=R*QJ5Dg1#88Bx*oh(FahR~1rs)31ruq{g zUvU@ymvY><+(kE#APglasl-)TNR6OZ9epsi&>h95XK`|s``Ib#8h4%hk^2clDTXo( zLof{O;C|tLB@l05D92FYgc#<^EJcbDvsxj1Hn22H0+q}%V?C0gY zf)C@v$-*CMoeO^qbr|X~G+<~X*O^<+6$Sy7jyI9D6tCwEyb;4>3{x;nZReBu6q*cA z!?2RqYH*z zG3?gP7xG1XF@_l!W@4B{M9%BJI;JO23e|s)?Z@}$2Vj_kA$d$58QZ@^8Z($Dgy+A< z4&&?j;TT#lv|>okoE*za!jebv&HpkMmhj{F@nppT3otB1hQU;LG^D~$@{=h6KZT#V z<@b_CXfJYYC-8P24S2epkXPMY-A1`y&4mZ{uI)UvcT& z9m5i$Hio4bmaXOs;S~NgelDB>rw|jMBN&!r*n{jn9&r-a2y%*$P0o47)i+NpcU&x= zZ(l?JE#{Xv&q17LFs>Q!+WL+;7*@E^E#;TFfz-9}OR3a>JsNAPCx%xylR}hkOcnm* zqM!UqvQtg@Ac%6^*B#XMb%14?*ePryzm{Lezr(-Fujeg0&9H;Kx=81~0- zAcli5tRb#_MjQAoE+PQ?{5xIa-3uz%?|;%Y-o2=T1D!827Z))g*v0G`b}jo3yPn<1Zf3WzTiN~W0rn7k zm_5oKV~?{Z+0*Q0jwf^Rc=C$DR_-`=-A-N~xJ_OhxXT0HndZ*e2K~I4C$RI43wSxFGmma7A!ca9!|+;2&?sTkI|Kj`5E7 zR(mIT>%0x#{k(^Hzu-N>dz5#RceD3I@0Yw^^PcBD-`nB+miIF67Vnkb_BQWh-dDXJ z`tUwpKHfgQJ|RBwK5CytAFYqx$LN#nlj>vjvH2AG6#JC;l=)QnRQmMtsr4Dm{HFQM@q5#6nO}?FO20P0U4DD~KJ&Zo z_p8ubC>4eX<-#zbN@x(8gek%_VVGK{Q=7N3>Y9T(m;eDq1aiTeME}u4tF&py;&doansh zg6MnE7134EbEMYsEvv!^Dl^(c&@UvEuRK zcJasJQ{r#L7scP%#h1l5#g76&03E;v@By9yf&ia@&;Uh1ctAuzRDdcVHXuGg9gr4a z4j2^B9PoO;hJft>2Lp}=oD4V}@MXYP0pA5&4)`J9TELG1KL>Jwn!qlBg994^#|BOd zbObI8Tokw@aB1N3z}1281g;O<7`QobSK!{jPXZ4F9tu1hcrnNhf_#JggTz5WLBTBsV30NN!91lH8TtliZg)45orL z!Rf)~U~8}~xX>P499$CIH@JWBz~Di_HNmyPLxQIVw*a~5Nz0{G(&5qu=}74)X_K^BYL{Z^4C#x~S<+XebEI!d+oT^$&q(jf zSXqEfE>p=8WExqLOegCqv&wqNDrG%oy=5b0jWYXa*%;Ya*?1X}&62$$nb%`#|=I>{Ho6*=MrTvM*(qWk1NS$$pgGmOTjZ3h@r{4H1Skg`kk_AqPV~ z3po<e5}~1*r(X9IG{MB zIHCAf@uT8r#jlDRir*Et6c59wFglD2^9=J2^9|F5m4%H8n;F&-wmEE9*q*R`Vf(`l zgdGYy9CkMBT-f=r3t<<-z7P8$>{{5va7}nw_^5Du`26se@YeA5@YUgOhp!9Y5&oGy z{Al>G@Dt&u!q0?X3ja0ycKBc6cf;=~fs$6TN?z%y3{VCtBb3p~7-hUtqfAnERd!Qm zD6^Ekl(ovC%6eskvQar&IZcU`Gn6kWUs29cE>b zLv(Ugd7IL!#@W8=^->kB)AR9v3|^dUEue(W|1jMSmXs zP4sP*hbl^yrYcqSQT0^~Pz_NHRSj2-Q8lZ^sq8AGnxT4C^_uE+)pFHJRhw#+>TT6J z)fUxu)lStO)hDV?RVP(vRrYhL^Qud#%c`rY>#BcZm>B<G^RYJM@*lX{xMZC)iKR6Q)6bw%!^qNvoPkZm}N07F)L&C#axPwj?Iqk9y=g* zQ0(B?A+hzb4Y7@}O|dw3M(j(muf)C@J1=%Y?84YZu^VEK#C{cfBQ7G&Xpbw2>mN5b zZb)2xTtnQLxN&h4IKCvlEWStluJ|MI zpT~a@e=@pj+*VL3+rjAj^ zt2Jt^TCX;$OVtC^L)7)^2DQCW-K3tZo~lOb8S0nRFRLBu73yv3OX{E1x7Byl_tf__ zye2>ss0q>pYoaw;jb3BaBx_PN=^C>pUsIqd(v)b*H9a%~G=nrXnp(|hO|xd4W};@Y zW~yekW}#-0W{GC0X1QjCW}W6;%|^|8nys3TG}|?wX-;a+YcAO}-)pXDu4-;+ZfpM3 z+(~2-JrlhX{SpHbC5f`c(8RdJghWlEHgQZMN}QfJGjUepxx}l9HxmCy{4?=x;y+1D z5})Lil%Mf-|&u6Dlm4eb)`GVKa&t9G4sxAu_si1wKFxb{2k&)VO#ziV%6 z@94Vd@^odop1MA|{<>;it!}8UUN=fNUiYeQk#41KkM5xEn(l$#OE1uS>wWbh`dEE} zK2cAODD)}%biGwypfA>!>MQg;^?mgH^mFtd=zp*q#D*Nh3x*dB3k(Yliw#Q+Erykb z_YFG@`wX8N4jB#`&KkZkTr_-dxMujt@T=j5;ek-2 zf)N>CGtM>6GtM`@Wn6AtX>2oYF@9j&X53-iZSptCOfe?4DaoWarI^x9-AtJ#tEt>% zZ!k?XO)^b3O*PFnZ8p7c`p~r9w9~Z5^oi+!=`+(&(-)?brZc9mOy^DCn!Yn#F|~jOiN7Drs>I6$fUGcX|JTsNt>IVpI({X zE4@#8|MYLte@y>5{nzxHT{5~9b}8;s(xtr1sVzc5UuDuIq%Zle^yQ z#&`4VCg|py(KlmgMt#N$86z{!WPG1-CF5$wkD0?W$7fE=oSZo=^LXZk%!`@dWnRhZ zmQ|2dlx6RpRhD%&>q^$utm|1nXQyQ6Wfy0cW>;kQ%0U*SS}7Z{^<4eV9k(!8|6rcImxUy8_g-^G;@x* z&}{E*t~L)g*O`Z!>&;E(vE~WpN#?0$yZL3a!@S(Q&b-C^fq9#Ghk3X8kok!DnEAN* zl=+PLTl01EpXP@aU|}r0#mgeL1X-k(5R1YRZi%xbTXHQ$mhP5POSz?oWq@UnWw52r zGR!jEGR899GS{-y(qUO+S!Y>q*<`nDv+S_!w(Pa+w;Zs1Vfn^#)pE;n-}1-`t*q6< z>TeCON~}_As8wN&v1+YpR*SX7T5heh_O|x3)>?;Jhg%!0jn>iDN!FRx`PR3r%d9Qd zmDV=vJJt=>&DJf}53C#EVc?;Pg@^be_NHU+SX{BWSeDMY+Gt;v9;PdY-?=mZ0l{CY<1;p--W(P*fODXf3QMoLo4wa9-hp!i9y43zrtQ6s{~>U-*9EhlSeV-lF|Q z2a66DohUk8bhha0qHl_RD7s#BtC;Kz6?+x?6bp+b#nR%?;;>?6acr@!IIX0mq_t#S z$wwu-OAeHrD!Ej0x#Viek0rm9+$i~@92;JZON%!~T|1?$E>;C{)45L#3 diff --git a/TabletDemo/TabletDemo/ViewController.swift b/TabletDemo/TabletDemo/ViewController.swift index af228c3..786811e 100644 --- a/TabletDemo/TabletDemo/ViewController.swift +++ b/TabletDemo/TabletDemo/ViewController.swift @@ -18,7 +18,7 @@ class ViewController: UIViewController { tableDirector = TableDirector(tableView: tableView) - let rowBuilder = TableRowBuilder(items: [1, 2, 3, 4], id: "cell") + var rowBuilder = TableRowBuilder(items: [1, 2, 3, 4], id: "cell") .action(.configure) { data in data.cell?.textLabel?.text = "\(data.item)" @@ -52,6 +52,8 @@ class ViewController: UIViewController { data.cell!.contentLabel.text = "Tablet is a super lightweight yet powerful generic library that handles a complexity of UITableView's datasource and delegate methods in a Swift environment. Tablet's goal is to provide an easiest way to create complex table views. With Tablet you don't have to write a messy code of switch or if statements when you deal with bunch of different cells in different sections." } + + //rowBuilder += rowBuilder let sectionBuilder = TableSectionBuilder(headerTitle: "Tablet", footerTitle: "Deal with table view like a boss.", rowBuilders: [rowBuilder, configurableRowBuilder])