昨天教大家怎麼讓點擊cell時可以出現勾勾
那今天就是把我點擊的week 回傳到A畫面
然後我想要數字由小排到大然後0固定再最後一個
所以我使用sort() 裡面是一個closure
num1 跟 num2 是要比較的元素
如果num1 是 0 就將 num1 排在 num2 後面 反之
最後如果都不是0 那就由小排到大
這邊是我想讓傳送的值可以好看一些
先設個全域變數 saveWeek 這邊應該都很好了解就不多說明了
簡單來說就是一個協定 讓別人去做我想做的事情
通常會搭配extension去使用
簡單說就是裝插件的意思
原本ViewController沒辦法做的 但是你去擴展他
就能做原本不能做的事情
在B畫面寫一個protocol 然後定義一個func 會接收一個參數
這邊的function只需要定義 不用寫其他功能
然後定義一個變數 遵循剛剛創好的協定
viewWillDisappear就是在ViewController要消失時會執行的func
sendWeekToDelegate是剛剛定義的變數
因為他遵循的protocol裡面有定義一個func
就可以拿來用 裡面就是帶我要傳的值
這邊就是讓A畫面能去用B畫面的protocol
然後在extension裡我們就要去寫這個func要做的事情
這邊我是多創一個Label 然後把值存到Label裡
然後在剛剛要跳到B畫面的function
寫一行將protocol的代理設為自己
簡單的protocol傳值就完成了
今天教了protocol 跟 extension的用法
在swift很常使用到的 所以大家要真的懂它的概念