From 59f3ec0d6371e1706d7a72080f210f592b4f5b18 Mon Sep 17 00:00:00 2001 From: chai Date: Tue, 12 Feb 2019 16:03:49 +0800 Subject: [PATCH] Add two new protocol methods that can support custom NavigationController #3 --- Navi/Navi/NaviManager.swift | 6 ++++++ Navi/Navi/NaviProtocol.swift | 2 ++ .../UserInterfaceState.xcuserstate | Bin 44764 -> 47126 bytes NaviDemo/Navigation.swift | 10 +++++----- 4 files changed, 13 insertions(+), 5 deletions(-) diff --git a/Navi/Navi/NaviManager.swift b/Navi/Navi/NaviManager.swift index 9d39567..da89ee1 100644 --- a/Navi/Navi/NaviManager.swift +++ b/Navi/Navi/NaviManager.swift @@ -243,6 +243,9 @@ extension NaviManager { extension NaviManager { func previousController() -> UIViewController? { + if let previousVC = navigator.previousController?() { + return previousVC + } let count = topViewController()?.navigationController?.viewControllers.count ?? 0 if count > 1 { return topViewController()?.navigationController?.viewControllers[count - 2] @@ -252,6 +255,9 @@ extension NaviManager { } func topViewController() -> UIViewController? { + if let topVC = navigator.currentController?() { + return topVC + } guard let rootViewController = UIApplication.shared.keyWindow?.rootViewController else { return nil } diff --git a/Navi/Navi/NaviProtocol.swift b/Navi/Navi/NaviProtocol.swift index eddcb99..1a3d7d7 100644 --- a/Navi/Navi/NaviProtocol.swift +++ b/Navi/Navi/NaviProtocol.swift @@ -12,4 +12,6 @@ public protocol NaviProtocol: class { func tabBarViewControllers() -> [String] func rootNodeName() -> String func mapBusinessLogicDocument() -> [String: String] + @objc optional func currentController() -> UIViewController + @objc optional func previousController() -> UIViewController } diff --git a/NaviDemo.xcworkspace/xcuserdata/chai.chai.xcuserdatad/UserInterfaceState.xcuserstate b/NaviDemo.xcworkspace/xcuserdata/chai.chai.xcuserdatad/UserInterfaceState.xcuserstate index 016daf937ae7fff4542d125283d675a284671c2f..82ad52e8256e801a3df3a0d4c188d3ce39fef90c 100644 GIT binary patch delta 22494 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 D)9a{^ delta 21366 zcma*P2V4|K*!aIQ+ixjHhof@`7Er2P=~z%vr1yIC-a+tojJ@kA(P*L|_TFNQ8jUfr z_Zmyo7-NZviHR}x|Lh%S$m{$5K7aY_Dzne-eCL_xdFGj!U0Z*LH*UgtR+MlNI(D~)R2&ZG-RMPw1KwJ4l1BMbbxM92|b|~>;?P4zOWw* zg2Ui&7zJZtGR%Z|umo1X2G|Ij;1oC&PJ`3o3^)_cf{WpDxB_;-Rd6+24>!PX;dk%| zJPMD&vQ^-^@o6I5e$TG5= ztRU;iW^xKSm7GQ{AhqN|@-uQdxq@6xt|2#&TgY$8??}xN@+f(XJWie7mHO`)bzGd0vKYB9Bh z`h;3aEu&UYYpAuI`+3I!B$SE>PF08`MqeA@zv* zg?dc=O8r6oL%pB@4QUhFl$O(Gv^i}}JJRm72kk}s(7tp(x<5Ub4yQ-Zqv)}89KDoY zPOqRl=vB049lf63OmCrg&^zfb=som)`YZYn{SAGDK1!dYPtoV-^Ymr<3VofvLEonD z(D&${=|}W0^b`7b`Y-w!{epf;zop+XBttPA!!yQ=31iM!FgA=W3CX2~t%9wJdf~jPxm^!9~nZRh6 zsmwHHI-$D z%umb%<_YsV^9S>kdC9zDUb7s_vocm-jaWHr!`iZTtj3jfW0kBo>%;o8eyl&+j}2sl z*kSB&b_5&8#{fOgyPf@#-OKJ{kFv+u@yAfnxiolpg0tkTIBQP9xpHotlJn%exL(`^8_W&iLb&1F2riNv$&KP-xi~JK%jR;p zTu#m9aYbAu*T^+-Q@E+zG;TUKgPX%G;y&d* z{t*ZP2v9H)Oa-}MCYTG>f}`LrcnIBuUP5odTL=@vg$QA&FiaROj1VG)k-{ipv=AkX z86}Jrl7$o@RY()mLb*^OR0>r>wNN9}3K~HakT6r2CCnD)2#bX!!ZKl_uu0e~Y!S8! zJB8iC7s4K4zwnK4L^v*75w2@ju|cGTn5MnYHXAh{U?wtRsn{SE?I`DRfm^Al72hI& z#}5htQ+&lsEJ_;@9ubjSSW{jVQl-w)zTrR9WXP>Us;djDYqH8}^p~nfWi^)9)?6TX zLPiM07$S-ASVxQ{qKR=t3=vDj5%EL&Cgfs*e()f zL^)A`>#roLh-#un8=#DI75j;V=q3)lOw_1 zKvc?!OTDrQV} zkvaz}TL1W!SZ#|%Pux#EVx?yp%GVO>aCvXhTdGAKuC7y;lvk8u2$!+txzz@#O*$!G zNh($<*H^ur*pUzw6H--`)!0sKC)zF$yKqB3Cw3FgUl3I(x#c;v(v#xGjY_I1ELCGG zD6J3!#6BXSoiJ()uYbrsV!w8|vo&V_3bW&Xb(S9_zSdr~@}h`CxcI7-=aBz)%VFFx zEjW{^B1Ex2?zaIVab9Op$A|@OL^bY5KmGGh5vMcc-L#0a(^k04jH1eO)$PO?qOD7z zTq@K{pCis^$dv|ZuAR6bNxmMqCyLw-HyxA!3m>-`+czxIz3N72gyC z+lX6YkXRHuI;*hEaMNAlK4HF+_=&hj{455GA!6uC;sNfLM`9T6mtyQ}m+iA+iQlCb z{2_)*wxRcuzlhg_#~R`p@i+0D_=k8wyd++U5#msBm^fSLi7%wJ> ziI`)4=dZr~+zYx7O6fMpGyT z=o?u83ge<;us5`W0-{Y{Rt!oqo`*^wd`uGlLY2giuuK|sOM+c|{b)X(Jh~*lwLaY?4IzST`Ppkti zVzt>e1LclExM07wE1U>X`(l zOZ7|!Q@~U(O{@`X#X7ORgK#Cnz$`+AW3iXmh@&$o(!O!2*KqolEYkJ6;Tem;C)i!U z5^;PRSSmJ)ML5uf$H%@W8BwDy#j!>*zU8339jpLtVvG2ZIK}XQ4zLz`6j%jTgEis= zQ6q{g!8$?(Hi!sUJyA?c!;h0QQQpbv&R-vx)jVX2MZh|}0MLh|z>?Gjh}9B>Sr zkjjsXGupsOapwQ4?PsO7p9AN`S>oJ(+kOdr{{izg%zQ(fjhW|QPuuIJa07S1y${5G zCS1V-aUSlY`B?0^n_Cq475qkctXLry8C3EI_=oUV4W5EO!C&AR_!~SI7mAC-R`FwT zvAAS4cmZC5SKu{x1Kx_Ch&#k@#f#!!;xnloE?Qr~Mmx`%*UAMK;Hdj;g}{&*atGbN zO9gwakDyHKtO~Nw1Xl$)$U_+vpb<0{mx{~8PsPu~<>HFf&=ks{8Q}^o@Q~joZV)$O z@NLpypCPxDa*l?IEId}`>a0cbMQw$Vt9F!;O8Zub(ikdngwBL{8*~!e+n|fMQcTN` zo8p_}vr1~!)gjf=eFjk#>_&LBLwD#Qc8IImVRzU=TrIA{9wUvM;p)aIWKI3?b;BzE!_@R;v^$P-jBr@64Q_`!;7+&;ehznw-(izIA|4fwiO0ng;z{w8 zcv?KO0h{fYgbMB>*1@l&9~>WD;aAvr&tfM%hXe6>-A@B9IWHNstz^(uRpnJf3rlL$ zRfT2w5n3CYY;$v59#&pbl2uWy&K*`&UR$A^XEV&kri=Ycak@mG^=Tj4I2OQjpnZin zMHfHeMR;k2ctPLnEAT2Fh+@<=?eL0}wdn#Cyaw+`UU(hefH&a}xQVyLOX6kmig*<_ z?EBRi`z{_jRq$tcAH!b5{ZlGF75~KjGvC}r8)_asPGXO#$;v4XD=)36QsczGyiDg` zhAN)GXN1Qp_&fXqK81h6zr^d}4e_Se?!T>gvrSnQD)TY!huTo+$CWw=V}?z$u0 zWhm;UD|(`P(0nUr-a_+E|3^E{T1Cs@zrj^Lg6u~Q!RjRYlLN?sICAph-{N!e9~?KA zts(;@LnA}TQ1J!stp@Rx_{I<~-MYbycRpE! z0|r?@79s!vRNKPbFa9vOoyEaO!nLx#jgE!twA~p{|mq z=XjR(@61!=<>n$6pAi)^(AW38jjf$Rnqa0nMa7JLFC8}`qD=CT+;QqWb(Oj-N8N5` z|L>&J(aF@=&0T6mvAVH38UJ0bn~hetySR#iXxgq+iRPlUXm_Dochep{J+-?$d}$-m zSTxc8;?YNGW9#jMv#OXJY@B8KB(&YzUXu0m_Y~!#8J5fJ)`#goz;xiC!P=$Wf@llT zQnb?E>gJDc4i3RLC+Hg4d2_J+1uPpDK3KHDD+^ZI65d%G+ug;|#&$&HeO*vD3hCtw5X61X0pcw zN0<=`LP_)@{D^*dAtME^49vju^Bs6W|0(eT5P13C1-Rh}ln0(3`Qa7%p}O_>YMh!+ z1herP`~uzj`x3AeufcbK19+YNGPnw^;nj5$XaU`DM&bo~}0Z#98WGI*OS}vBK0})d%Pa~kbF&Xls(lA zuQCs(qVcM7HkC`|QTcdXxri#JN~vnpO=<6=uQVfCNp2)J6K(N$Zijy}`1w}yOT6eqZo@!3$erXa@^f-G`31QL0ZRm| z5U@tT1_4_H><~~OV2^+UPU^{he#&U)jg)B@_l~mYBKD77tOve5SDWTNBKZ}G zr~X~?a`GKT{HK5-DeAukEXCufLvaZ7Zlh!f`22^EGSye%y}&1GkU3?GHAGoZmXsA` zO<}G3BH)LBKLP;=^jSsOQ3`A(4wNGTeG%w~KqvxX2#mrSn(o7cVh^gjR980y`nOR% z5EvkZxc_4gNA<$<7^*krjle(zg5O7I%8%-c<0<7&1yFqu7=*xJ1ct1n`VlH>00Mzh zKL_EE`o=fMJ%oz*UqoRY79EaLODq|JB`5oN`i;hOW-1B+yo_>@ipHx_cx{RrN5xRF zR9sTEx&*I{;q(N7VF(OGAOeAr3w(xZyZf6tBvGk&7^0G?6a5{WM0a88TQqAt0iQnNXtsTJ(;~0g&r@VY2>0Oy^C3 zikxg8KR=%?7D~;~i^O4(X+E>51rp&LYA!X8nvXyN0*MGDA&}fbX{m)o7}bgZ)jOon^Hb}oO}d34 zYNLp&$;2x|)D{ufkcInA9;EQyN$rt{c2S>GyQwb_$Uz_%0W|`79n_c9UTPn;AAx)X zN)W)kU8YCMrVdL;-y%?8KsqWR9ixup<0JyuC5v?DV!Y~Pzf^82w@?Okl9}1hGQeG= zuIS+|OK|1wU>5bg*oZ&{h8rI2;PV4@SAx4m-KOqPKO#_tKs5q56{+o@e$uJyJ_5K; zb?R!=vuUW`B(^6A)En5IN^E~(b>RcyMH;LwX}QEtZf^j2Nxjj7yp}+kx@sxiu&z2v zU6x-{(0K<<(i}#kDVnAknneIdf?{ z4v>U#0GifD<7hA)gW83;xeSmvaoCt4`dyM1ndu?KE;^77!V7I$+M5p3ri3}$%n=D3 z^`;;&^8y_~55>7u06mNzuALv&J#-cVvvv6u9Z9YawImFK7CoAdN{Ncmt+tQNswrrv z#}I8@3v@#p9ZiqZz6!IaW9V4y?e^jQBID@>!efivl}?}&=_ERtPN7rjG&-Hmpfl+# zI-Aa+a{)=`(fM=%T}T(v#dHZ>N|({)bOl{WSJBmU4P8su(e>I*;XO^n0t7Z9uo;1^ z2yEBh3-3wdhim;KyfpM&dLBKWUO;QzVXt`i`2PA&=LhQGK*q$I)8Xp^jbR54}<^qSZzZjp#D`(QEbP zi@M(W^M7yMq!;;EYZ9AmTWYWn$w0R2uPn)sk9=Qmu(z3ISDD>k7r>|0bbf8>2bc9`3(XaKQ%QNJuI?>E%m3G?**RCSp=|%9CK)8X# z3Fn#WhTa7=r6pZ?PUt09YJ(%AyFTHpzI;`Nd^mo>KyCau)2^2<=`XLzkoU)zeVy=T zOI~4#y6cm#=|$FM$Rn`GVC~%A{C_lYOMiWXcJs*n7XPLe^iTToP1-x7#>u;sKa|R~ z%SNYm<>*Xfwq?i{Xt#}Q&`yc6?|P3eo6&BIO6Yn|XYR5qLmq2Tjy7?OeOHk;dWPK@ z@-0}TYj4@2tG(kqOM zUgp~jc@mZxr2Qzyx$7g`^_P!i$V2hvfeyVZ@Ge?~I;ZO+dg^74VF&2i7ffe-Jdq)f zd0+jPv5Kzr0s31{X}?-Frfao$S4>jk8NIa)(oT)D@*T{C;DLe}!UQrwOfUlH5IB#( z1q3d3FriEs6VBjd=n?`~5V(rK_xgb%kr{;pFoW~s%bf!SGgcZXj*}|sz@w}9Sa%Zr zl)<+85ns-9ju}i6ld2mtm=tNuxQ2&SCS4j`6XnQfz?EAWq=Wx zkMuATC77S_0LDy~5|I01+W#0@&A{)5n`SU`CBm7^EM_({2Z4vk2|PmJ7X%)6F!OYX zS_FRWM0{dE{6s=riU3|J(ydf5pXm^(KbZ#VPaRx?{``Kgk6FdwEe*VJ#;lR>e($QQ z|AA*<+sy2c*tRfRnQhE=1fC**pZyme`JZ(#JDFX;n%RxO-w3=AaeDXC!1k5Ib^zgZ z{Z6(+65BUe+4w-LRyO2KUy(8mj%1`CHHW46{N`Qs_U}`0#Ss2dqY|hMV57P-1<{ zbbH4VEI?2|&la)2YtfY#ykPfL; zX8Mz#+*sMEQiD!e1?#BeWE~_}WO$K{o`I2&yohdj~sKM;C*jM<-o( z16{I2huhfAK$ni`@Dix*2UF>P4Ex}$nk~?i_YDp%_`t5A zb6n{xg}mHny{)~HBkQ;W2 z*&XcXdc<84Vu*zJg@hRTAtJCfv}-?mNJ9LIJ-{AhzeX?|Il%}7haxzvgZ)N__#J}7 zI}xQBGoCSO*i#bXX#__Y5YPQTJNhbnU5|E6LK`V{^i8RwM}2@M&o+?#$ljO8?y^6z z_gEY+uoaF$a4dq+9aiiE9T^T6<2uP=4Pf_;W#`QYvZt&r**20v&V3p1M^5a5KPwvKIx2m)>|3e^FNV~Q*qsNq@0ID znuR-<>mhY;_J^cgiGj2?=P!|Zb3UAhFNb|17eO_Gc?jlrZ~`11BjHMuZ*H8V zSZVToJx}4Cz~Ob74la>P;*vSsj4A}NJJ%ps+rgztudr~L2yZdscUTa_o5MQ8~}CHIkbtVa-BNG-zus#`-@4AJ@v^9S58gaEm3ZiIQrTN~-w? ztH!HP;k$xcB~i3-?c7SP1Hs7%PC;-gg3~&<)tm{pmRpD5bZlJ+;!0=hDPp*-62&$I z@uXUpo^U&*KHJ4PNC$#5brvR_ai6)#Nkg0Wa|iV_2PB#~l3g8=>}oEi5sU47xg*?3 z3Fjzxj62SqKyW^S3lP*IxUhpeC3zxu7QscGI{Db3lPeOVtI+ZFZY=HL!$VV`;B|T{f^*L1eYQBDT1GMa8Gp<&k$VRNzraF znAZ{oo=xM|lXN=a2~5EQZmo16*rwBeL9&@q&(pmq{!uF$-@jv2=XkY4Tf! zd(3$ojK^E>mb?{@C+@2eT!S1Su47#XZ_C@U8+m&K*CV)D7r*hYz0RU}{2Eppj|bNc z20#x9up8f9IuP85;3oYU11jYzWw76Wq5|*3`|DZ#B-X9C_xL_i?``{l)r=ZtfE~yO zNw9FnKa^*m$vN{I&tj>86?+W)h64Is_DMh`MU0{Kn?K@!Lj43br4>&H*w zXG$bf`Dy%geg=Za5Il|`Hv5wu{4A~yKZl=-;3-|eJcl6O<(K*~j&GGvK1T4g0R>MM zI{2mhGU-6@41(B6q%-cv!E(90p8=?YU!wRJ8C zkgf2?_>+2$6B5TwiQ}}y@dM`ATw~|QU*NAw92faZ{AC^!+(z&Yfsw=W~+mc*+>w7VhEW+g81tLACuqf>{gkx zOoh2*E;3h{n+*H+-v~ZO@E-(UbjU2-bzs=NUv`4w-F$3Dvozikm=A)l3}F5kjA@kh zkq&7F3}5TdSXl!NRSl8_>hXq1cyA@VU0U{x? zCrLz79kP)+z9>Y}dOnitwT6EEx|0yKs6%vQm0AQ&OGW)lgBEELTsL zgXu_KqRYc{r0hdF*28d9v8+O(E0LAT%4Fq;G(w~?B2DZNY1$#H)Y0LcL3t;ge!@0u z?0AW;8IfiNI-K-(uof~T9eB2eNOS!e^KCIyHB~l4&o^D-!xObxvRT;fNok@sXS|)S zY`&~jVp$;5$`;BNA<_nswurbEn zY>xOqq%={JP8h_}0J2H8RS&X70>KkCU)gp^QFx-J-PVjjcFXojAYaJ#$i9^AMWh=d zl?boaknSC_{W_3?i0qt{kv%$l?1%(%6p@BGnd}4xp^nQ=Nr$wJLUz}mF^Z=F<$~<8 z9_5mR(o;gYDxr9O*k>ThaMMlMj}qPwvRks-vO9?Eg~;C6qP!95(;>U7M6E&d?3^Vt}xdLetQ=X)jbNz*aeTZ!*~nU0Yb zoi_=jAZ@7#lt2rNz#_6gA_ri;fruQ`A?UVL1Z-xV(=jqor@xsRLE2IgED>p#jtSD1 z%Kw?$2~L83Lq(7_RLCHVCMYGe;15(M|J*>aj!5j)k%%0L$Wd#B zfrN^16^00bLXZ$lV4E3@-(P7!B=+$!h#ZT^X#9IxQcYG>zPctRd}MNAbwo*Fe&LQ| zA_KZb3vqboTo@7ad;kRfCWSwgmu zgUAF#rXw;7k!nO1yx%4k@&vrSx>Cp&3WP#L;>TchC9f2Ug%Y6@kyvA?h)l!J+%|Eg zMyL~-{ug0pm(Yv>zzalX=m4T!;zDZ+OL7fbnkY>9Uv3ko3e$w?h|ESL#>*9pl)-ZS zs55S$%LkgCD`@c^)(4=}USW}dcT-CcnTN=Hu_%XdafgJ9Zc|G5gj~Oaoiy8eq`3j* zQ=tRDkB6JPTv#C#3hly5U88Z+u?r?6vKWyitA%1>ov=obUSMB`bs%Ej!MZ5N?-hDu zP2BoqxklJV2*P$j`ck8}^c99O9Fu6eu<7S7U94B@|AE9Z`ny@ZNk@xtnPd(OE@e^ z=IBKAw;uiXeMA8VmG#0&y!(|%*Wp*Cg7u&nz^;55lcD{03r;S_JrY96Q2|@Fe;W1BoE~HQoSr zC>w>pzstnSNcn6b{{F6lt;P#L%kV&t7M5vXAk1b-%Mu*=Ou? z_67S2&-#tH(Oey#VtvEi;$HH0ya)bbZ4gd|gK+j6hQD1K#%o6KBk?C|nK&uU<@5ML z{NY+TU&&YVwfLj8R(>7+Chfco$V~7EKM;?i$+A>gx-3(cEz6bV;qS?c@aUzHA=yW= z$+D@k>9U!!+4y6!`FIrh3`g>B@uy<eG3hVKATPKAJ z8sU}^G%_)g8<`tf8d)3J8YzstjY5s0jdG1dqlre7jHVb(Gn!$v&*)pD(?(~F&Kq4c zx@>gS=$_HXqWAxJKwXxjT+}PgO!`Rz6$~eZj%6Po-G~*e@vyA5$YmHYJw;OjD zuQuLe{GIVp zkbH9ege#ZQq`33W<=GV+`nEzn@llhl+3&FzH!qLLdBEX`rMSqKd z7K1G!ETSyNT8y)ZwTQP!v`|~*TNGLpTQpcSSu|Tru$XBv+hVT8e2dR4R#>!KbXcsj z_}t!?=%reO`)3VUA#Inq?!g9Lh49kx# zS6H@dEITY$TduX-X1T+1m*sBDJ(hbd4_n@_yl?r3><YX)SWwDl78(EuJ%dMTPJ*@++hgpxcPP5Ln&a>7OSQlAWT31`wTGv}QT7P6c%X*P@ zhxG>QFRb@k@3%f^eaQN-^;PS8)(@;7S^sMN#QF~#+Q!7j!p6$R#>URZ!={&ww~eoj zzs*3K!8U<5!8V~bqio`AvTX`&ifu}5%5Caw8f=DhvN7)wJYHT}fx7mJWd(iff z?P1&RY>(O=x4mNfz3p||o3^)X@7Uh8y=VK{POx*d3$d%Pn`^hsZn<5XU5DLjyR~*- z+8wbwX?NQ0tlcHMD|X-8UAOzm?xEe^cCYN-*u7Iw3P!;xG%|&S!cyU?@KAJD^i+5& zd=>tRK8jGqFvSSPNX1yiI7O@?UQw!OQnV;EiiwIziYW@MqE)e2u~hM?V!2|YVvAy% zVyEJB#TSZi6-O1v6{i$u6z3E_DDEikDt=ZxP&`sRSG-ibR=l$Z_N2Ys-ptFdizHE@%AnDQ|zbN&#<3mKgWKa{W|-j_809R zIsga8!P%jQgTKQNhv5z}4si|%4v7xQ4yg|54&@G09p*VKa`@O`iNjKdwGP`Hjyarm z_}SsDBk5@5*vrw+F~%|0G0U;RvB|O7ae|}hIMH#Eqh^ZZG{+f^vmEC*u5w)CxXy8d z<0i)~j@uk}IPP-X?YPHruj78ltB%i|Or4yZ{G5h4r8t#4&2(Djw9n~Vr|+DOI-PSm z?{v}Wrqf-g2TsqNp)=*oICIW2XCr45XM1NyXJ=f!+uuK`U4L@@*^PEHansnl`MCwSCAj6fmAh5C zRlC)?)w?yiO>&#!HqC8@+bp*^Zu8vMxSex*p=6Z2Qc#*GW*- z%KplM%E8JJ%1Gr%sZ&e>vf7KvWpek53S{18`S0$>FRavTBRi3I)RjitznyOl; zTB`a~wOrMvTC3Wi+N9d5+O9gNI;Og;x~aOQx}&JiC&Yvrg_cun(ejE>+fFvz0!Kk?)6Epwq6~**7RE6Yg@0Ky>|Edve&*|$9kRU zb*k6d-nG3aYI;xVJ*D?_@9y4xy!&|%@E+`a$NM+$C*Hq%KlOg+L-+t6(ns!N=40+- z>Er67^6BQ&)2Ek@x6fdoK%ZcrFrVo@tv+o&9X@M(*86Po+3K^`=PRGDeGdB^@j32u z(&x2rH{W>Q$-X;$Px)T+z3F?~_pa~Hz7Kp~`_X*g{rLpBfDJ7oWm149l4h6auaObkp3Ob^To%nd9JtO%?QtPN}kYzq81aDU*P zAR>qlG72&cG7C}!DT6$Mx(9g%^$PM1@(mgoG%RRTP*hNKP<&8gkR~N4EvO`@Jg7Nn za?rG(nL%@c<_CQe^l8wFpp`+ZgVqLp8}v)CX>jl0e!&BShXe-&4-bwGjtx!-P7Y2B z&Iry9&JE5BE)T8>)&x%qo)SDgcuw%VU~TZC;Ev#R!Jh{o2tE}2ZSc|H6TugQuLNHU zz7c#Y_)hTK5LL+Vko=H}kZMgxT}VR+3YifyJ7jLif{=wFts#p;R)wq&*%-1VWM|0d zA$vmhh8z#M5^_7_ZphCe4?`Y@JPY|Jogca|^yAPaq3xj? zLN|wQ4c!sCD|C10;m~8DCqhq$UI@JudNuS~=)=&zLtlix4t*B}!>BN`FpID;R$;bb zqr;NJ(!w&sa>DY$3c@CZ%?_IvrVU#Zwmxis*paZ~VJE{*g`Ew%5OzE4uW%-u4>t<8 z3bzfn4_Afzg!c$BiV2`>u&D11ryYHhX1Jd1cf zlp4wm<%SAFbB9(AtsYuCv|;GJp~r@v7xOL{ z_HsBooF6U>HyNHYykdCO@S5TEBYKS(IAZXKz!4!MR*cv*V#|naBX*8>70E@)B8?(V zBQrFSC6Q&36_M4EUqzmXJQaB+^885Sk&2NHBb`RNjw~EmH?m=5)5w-l14a!UHGEX$ zsL`W78?|B7rcql)Z67TgZ8O?#wEbwO(K|*T9DQi?;n7E;6j9xxdPI3f^^TexwIFI? zRBP0dF(bz$j!7PqIwoVx&M{w)`DV8xS`rEX8}@e|`G$IpnL6+btAe*B8~mGN8S_rz=V#UF@26#s4f z>G*T;7vnF-e;m6K*HmP53$CNy5{FX9>>}UM9Rwv`Y+1%t@S>I5Tlh;`~Hy z;Zb3Ne7dTC7n;Ylyo)edeRR`x08NM`YGwx zq?bwWl0h<+%qI)UCdu+-=VZ5J@8tf;gOUT2Lz2UjM<j!BM7PE1Ztu223nS@U)B z?c|5akCUGy|B?JMg-oGSxD;86af)e*S&Aa1TZ&go?-bvZzA61v2Bi#18I>|7B{fBz zQjk)dQkGJg(v;GYBBo4CnVd2;r6c8d%5SO0sn)4>sSc@5sohe2QvFl=r1no8m^wH$ zFm+_=*wk^UajD6vsi_&MS*aDNRjC?H>a^6EsdG~2r!GwWG<8Ml%G6b#xf zkhVE(TiVXF{b>i&zDfHo?O580v3-?a>B;G7>6z)->BZ?a>GkPN=`HDE`owh2 z%=FpmpQJBOZ%gk;UzffieRKNO^aJUK($Az{O~0Q0L;9WcpVEI#|2_TB^k?b+q`%Ct z$rzH6l_6$K&zO}lH)DRrCmAa%%Q%^FF5^PR<&3Kt z_cI=4JkKOD$xJ4b&os)k%Cyb2&veXm$#lyM(qyVLr)RFs+?KgBb9d&R%tM(cGEZfm z$vl^NA@fq^kD2!~A7(zz{3G+v%)c}L$zrqkEbA=iEVnH8tnOK!Spix7vIb@i&I-y3 z$x6?fl(jbNNY>e`3t5-5u4diIdX)8R)|0HKS$}2yolRzQ*|KcoZ1Zf(Y@2Mm?C#l~ z+5NLavNhq^!?Gi@M`y=pCuOH*r)Otn=VXi7tFw=1Kg@ob{Ve;R?3X!Yj!}+jj(Lt% zj%|)2$05f($1kT}&VZc3IUzY=IYV=X=OpAL=j7*9M>VJRQjb)}suR@7>QpuU zT%A1ilD{oHTyu1Z@3-j9YR_CqF+mN?4Z+qUZyxn=< zS-C^4s$_3wsv!D)cGzFYH?wR2W(qQ8=tHvT#&kVd31u9fju$uNVGMc&G4g;p4(* zh5r=3Dtuc6ipU}jU1VNlQ)E}K+({mF-7Bw;))WBQi^hm@{5X! zN{cFrs*2_o?JD}d=$~RxOck@me6e}4eX&!qYq6@hTXBzK&*EOieT&12hZjc{k1ifp z99x`FoK##;TwL5xjEW}}Pc5ENJiEBHcuDcH;^oEd#T~_8Yl`oe2qisB{7d?l3@8~? z5?(U8WK2nPNlZyxNkU0xNp?wjNli&zNn^=`60zi?lF20tOFk~?DA`o9wPZ)h=Ouee z4wZacaMCZ0Uv4%cb9!-YC6S`k?fe(%(w|DE+fcUe>oPxva5lV%g-f zX=O9Yv}Mc6mY21cttwkvw!Um*+2*pXW&6txl^rfSQg*WJblJJG3uQl+-79-q_Nwe{ zIVh*f*>ZWgMY(mkZMl89WBI`H%<@U)E6X>QZzU z{HOAt%O95iR{neWpXJXgs0y~ivcj>#r9xTZQPHEqucA*y|B68sffd0OX%!z;tf}~} z;!MT)ic1w&DsERitax1Uq~dACvx?^xFDhZBX{BYQb){XUQ>9C#veLaWpt4_Oc;)EI zv6V5E@s&xH*_Gm6t1@RlcnPRa6yIWm;uhrKobKa;kEva;x&L z3aIK^HJ~c6D!3}FDxxa3D!wYGssw*+T~$?E)lh}1CRI(XnqD=lYEIRLs&iG(sx7M> zt6i#<)$Y~3tNT?CtR7MwTpd;&Q9Z0WwmPXgr8>Pjr&?WIP+e5rSlz6to?gA6dQtV_ z>ZR46Rj;XDU%jb%OZE2Zoz>^6pV!#e46F&O8Co-ZuREA`*kU$1{q|7-n|`lt2J>tEEru7BHL+#qjo zZ18C4(csnK-Qd?Ss3EW+q#>+fXv6RZb;HbtEe)p|t~6Y0xY=;4;X%V64SzK}Z+O}8 zrr}*9Xf$cGXtZjyZFFpOZggu@HTpO9ZPbJ{j%pm!IIc0SF|jeLF}E?lv9PhEv8-`s z|2jej-1X(F1)Cc4R_$)?G!$-c?4$+^k3sdtlqQ=g{(O+%W3nnIhxn_`;cnzEbJ zO$ANGO=V3LO%s}?HZ5#g)wH&0L(}G_ZB09yb~k<5w7=!vqQ6Uvs<&O zIib0#d1mv%=H<=p&8wQ%Hg9O&+`P4UfAityBhAN~Pc>g`zS4ZH`DXL27OtglOLj|f zOI6GGmT4_>TNbn|YFXT}yrsQmRm<9z^(`A)wzp^ww0zfctmS0OnU>2f-?!Xoxz%!~ zC z;gf~07rt8r7Ez1XMf@URk?|tGMG1@0q7937F50)~+eJqgom+Hu(alAFE&6-WyH?mr zwKA<1t=6r!t@f#{POUDjJzBk5d$;wWPJYwW_tY owV}1Cb!zMM)|styT5q;KY5lA9rG7sJLjB*uZT;VdbL;E>4>AQ9J^%m! diff --git a/NaviDemo/Navigation.swift b/NaviDemo/Navigation.swift index 2745f95..edf1670 100644 --- a/NaviDemo/Navigation.swift +++ b/NaviDemo/Navigation.swift @@ -19,10 +19,10 @@ class Navigation: NaviProtocol { } func mapBusinessLogicDocument() -> [String: String] { - return ["NaviDemo.FavoriteViewController": "https://www.farfetch.com", - "NaviDemo.ListViewController": "https://www.farfetch.com", - "NaviDemo.DetailViewController": "https://www.farfetch.com", - "NaviDemo.SettingViewController": "https://www.farfetch.com", - "NaviDemo.DownloadViewController": "https://www.farfetch.com"] + return ["NaviDemo.FavoriteViewController": "https://en.wikipedia.org/wiki/Marie_Curie", + "NaviDemo.ListViewController": "https://en.wikipedia.org/wiki/Albert_Einstein", + "NaviDemo.DetailViewController": "https://en.wikipedia.org/wiki/Tu_Youyou", + "NaviDemo.SettingViewController": "https://en.wikipedia.org/wiki/Alan_Turing", + "NaviDemo.DownloadViewController": "https://en.wikipedia.org/wiki/Main_Page"] } }