Swift 作品 — 貓咪倒數・記事App— 練習UserDefaults儲存資料,protocol傳值,UIImagePickerController,tableView

這個App應該可以說是把我在彼得潘的課程中學習到的都應用上了,tableView,pickerView,UserDefaults,protocol,UIImagePickerController,AutoLayout等等…我不是程式高手也沒什麼經驗,所以程式寫的有點雜亂,還請多見諒了!

一、首先來簡單介紹App操作流程

gif圖

1.第一次執行App,會看到taleview上已經有一事項。(因為是貓咪記事,所以當然要提醒一下忘東忘西的主人買罐罐!)

2.在tableView的事項中往右滑可以進行刪除的動作

3.刪除後,會看到頂置事項出現『傻眼貓咪,忘東忘西』

4.按右下角的貓咪腳掌,會跳到新增事件的頁面。

5.第一個textField輸入事件。

第二個textField利用pickerview選擇日期時間。

6.點選右上角完成後,跳回主畫面,就可以看到我們剛剛新增的事件了。

7.最上頭的頂置事項,會優先顯示“時間最短最緊急的事項”。

8.點擊tableView中的任一事項便可進入完整顯示頁面

點擊右上角button便可進去編輯事項頁面。

9.修改待辦事項為“跑步”

10.若已完成事項,又不想馬上刪除,可方便日後查看自己完成了哪些事項,可以點擊單一事件左邊的方匡,會出現一個貓咪掌印印在方匡上,並且將已完成事項的字劃上橫線。

右上方本來顯示0個罐罐,變成顯示1,代表你完成了一個待辦事項。

(多虧了這個貓咪記事,才沒有讓各位貓奴們忘東忘西,是不是該買個罐罐獎賞一下你家的喵皇呢)

11.如果各位喵奴們不喜歡我家的阿胖怎辦?沒關西!點擊右上角的圖片button,就可以將封面更換成你家的貓咪了!

12.最後的最後,如果今天事項很多,一個一個去刪除實在太麻煩費時了!這時左上角的垃圾桶button就派上用場了,給他用力的點擊下去,一次刪除所有完成事項!

二、部分程式碼解說

  1. 宣告UserDefults儲存資料

2.一鍵刪除已完成事項:

當使用者按下刪除button時,計算一下tableView有無事項可刪除,沒有事項的話跳出無事項的Alert。有事項可刪除的話跳出詢問是否刪除的Alert。

按下OK後會執行delete funciton

這邊本來想說用“for迴圈”去寫出一鍵刪除,但怎麼寫都錯

後來試試用“遞迴”的寫法總算找到解答,不停地去呼叫func delete 直到每一筆事項都被檢查過

3.利用protocol傳值,去判斷使用者點選哪一個待辦事項的完成方匡

三、最後附上GitHub

--

--