[請益] 用純程式碼建立App的問題

看板MacDev作者 (數學家相術學家)時間8年前 (2016/12/05 14:57), 8年前編輯推噓10(10022)
留言32則, 13人參與, 最新討論串1/1
各位前輩大家好,最近在寫程式的時候遇到一個問題 就是單一個View要呈現的東西太多,當時想到的是用純碼的方式去建立整個頁面 後面因為一些navigation的問題,也決定繼續用純碼的方式來建立後續頁面 寫了一陣子以後突然覺得好像在這塊上好像沒有摸得很熟 所以想說來請教一下各位前輩 用純的程式碼在寫UI的時候,已經感覺到的優點 ・不會有一些什麼屬性忘記設定,全部都可以在Code裡面找到問題 ・在版本控管的時候可以方便的的知道這個UI大概有哪些地方被修改 感覺到但是還沒有體會到的問題 ・在設定Layout的時候可能沒那麼簡單 目前因為還沒有做得很深,如果要修改之前的UI都還來得及 所以趁現在想先來請問一下,如果用純程式碼在寫Code除了以上的問題 還會不會遇到什麼比較麻煩或是比較難以克服的問題呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 211.22.203.228 ※ 文章網址: https://www.ptt.cc/bbs/MacDev/M.1480921048.A.D0C.html

12/05 15:02, , 1F
我覺得就只是無法馬上看到結果比較麻煩而已,小改就要連
12/05 15:02, 1F

12/05 15:02, , 2F
續來回build幾次才能解決
12/05 15:02, 2F
因為目前還沒遇到太深入的問題,想說在深入以前先看看會遇到怎樣的問題 目前感覺是去計算版面配置可能會比較複雜一點 ※ 編輯: luke8197 (211.22.203.228), 12/05/2016 15:17:23

12/05 15:17, , 3F
如果是調整小地方,可以用Tweaks這個pod會方便很多
12/05 15:17, 3F

12/05 15:17, , 4F

12/05 16:31, , 5F
跟darktt所說一樣,建議最好都用code寫,xib, stoaryboar
12/05 16:31, 5F

12/05 16:31, , 6F
d最好少用甚至別用
12/05 16:31, 6F

12/05 16:45, , 7F
其實現在用純 code 寫還比較快
12/05 16:45, 7F

12/05 16:45, , 8F
直接在 playground 裡頭 live coding
12/05 16:45, 8F

12/05 16:46, , 9F
playgound 寫完再放回專案裡頭
12/05 16:46, 9F
今天在設計一個對話視窗的小細節就是用zonble大講的方法,寫好以後再放進去。 不過目前觀察到一個現象就是會有很多幾乎是重複的程式碼 不知道各位前輩怎麼管理這部分的程式碼? 在Github上有看過有人是用extension的方式,把各個部分切開 例如說TableViewController的Delegate方法就移到那邊去 大概像這樣 class deviceColletionTableViewController : UITableViewController{ ... } extension deviceCollectionTableViewController{ //Table view data source } 想請教一下各位前輩都是怎麼去管理的呢? ※ 編輯: luke8197 (59.127.213.53), 12/05/2016 23:34:09

12/06 01:25, , 10F
請問全用code刻UI的話要如何做MVC呢?
12/06 01:25, 10F

12/06 01:54, , 11F
全用code或不用都是「view」的層級吧!不影響 MVC 啊。
12/06 01:54, 11F

12/06 06:13, , 12F
重複程式碼的話我會用Closure來包重複的地方,像是連續建
12/06 06:13, 12F

12/06 06:13, , 13F
立多個相同的UILabel等等,
12/06 06:13, 13F

12/06 06:15, , 14F
另外我自己是在使用另外一個方法來區分每一個建立View的
12/06 06:15, 14F

12/06 06:16, , 15F
區塊,是使用這個https://goo.gl/VzZ8wj,這可以在同一個
12/06 06:16, 15F

12/06 06:18, , 16F
Method中標示出幾個區塊,而且裡面的變數是可以重複使用的
12/06 06:18, 16F

12/06 06:18, , 17F
像是常用的color或frame等等
12/06 06:18, 17F
原來如此,這樣就可以把重複的部分提出來 也不會有DRY的問題 感謝前輩提供的思路,我在思考一下其他對策

12/06 08:56, , 18F
@tkdmaf 意思是會分兩個檔案去做v跟c嗎?我以為是全寫
12/06 08:56, 18F

12/06 08:56, , 19F
在一起...@@
12/06 08:56, 19F
tkdmaf的意思應該是 MVC的概念應該不是只是程式碼寫在一起或分開 而是在功能上的切割? 即使我完全都用Storyboard來做畫面,也不應該把功能混在一起 之前看白鬍子的教學,有幾堂在做計算機的,這個概念有做比較實際的解說 ※ 編輯: luke8197 (211.22.203.228), 12/06/2016 09:30:59

12/06 10:26, , 20F
我知道mvc是依照功能區分陣營,只是個人習慣將mvc分在
12/06 10:26, 20F

12/06 10:26, , 21F
不同檔案,在多人共同開發時較不會遇到衝突
12/06 10:26, 21F

12/06 13:14, , 22F
你也可以view寫在不同檔案阿 用code刻ui跟mvc關係不大
12/06 13:14, 22F


12/06 13:26, , 24F
參考這個plugin 全code UI 滿好用 ,不用一build
12/06 13:26, 24F

12/06 15:33, , 25F
想請問各位大大storyboard可以不用摸很熟沒關係嗎
12/06 15:33, 25F
感覺storyboard的優點是在視覺化 對於還沒參與過的專案可以比較好上手,大概知道每個view是在做什麼的 不過缺點是很多屬性都要找到設定的地方,如果忘記設定就會比較麻煩。各有各的優缺點 公司會有什麼要求也不一定,所以還是瞭解一下會比較好。 ※ 編輯: luke8197 (59.127.213.53), 12/06/2016 22:02:44

12/06 23:51, , 26F
都會最好 視情況用不同方式
12/06 23:51, 26F

12/09 21:01, , 27F
我以前也是純code,現在則是能用storyboard就盡量用stor
12/09 21:01, 27F

12/09 21:01, , 28F
yboard
12/09 21:01, 28F

12/09 21:02, , 29F
感覺只是習慣不同而已
12/09 21:02, 29F

12/10 21:12, , 30F
推樓上,Storyboard 用習慣還挺好用的
12/10 21:12, 30F

12/12 12:30, , 31F
以前也是全code 現在則是能用ib就用ib
12/12 12:30, 31F

12/12 12:30, , 32F
可以省掉很多冗長的ui設定code 還不錯
12/12 12:30, 32F
文章代碼(AID): #1OHG_OqC (MacDev)
文章代碼(AID): #1OHG_OqC (MacDev)