Swift4 Day60:GoalPost|coredata完整專案

Alice
Daily Swift
Published in
5 min readOct 18, 2017

2017.10.14–2017.10.18

goalPost完整專案:github

讀者來信

跟大家分享一下我之前收到的信件,居然有來自印度的讀者,自己默默在做的事情居然被注意到了,有點開心與感動。

雖然大家都建議我用英文或是做個視頻,其實我英文沒有好到可以講解程式,但我又想到我自己使用的教材都是英文的,所以我嘗試將自己學習的過程錄下來了,希望可以幫助到其他想要學習swift的大家。

目前是使用:iOS 11 & Swift 4: From Beginner to Paid Professional™

但其實我swift的課超多的,之後也會換不同的課程,挑喜歡的專案來寫!

雖然說是Swift4 Day60但我其實寫了超多天,不太可能一天寫完😂

這次學到的東西

Core data使用的基本方法

但還是覺得需要短時間大量學習才能夠牢記,使用才會順暢。

換場Animation的應用

在學完之後,應用在App上用動畫產生Navigation controller的感覺(但我不知道為什麼不直接用Navigation controller耶)。然後星期一去參加swift girls,剛好有講到一些CATransition()的東西,感覺很棒,有複習到也有學到新東西。

如何讓buttom綁在鍵盤上方

寫了一個bindToKeyboard() ,超棒的,但中間遇到困難是因為只要編輯、按下TextField就會重整,buttom就會跑到最下方被鍵盤擋住,解法:要將butttom綁在View裡。

在cell旁加上delete、與Add1按鍵的方式

超酷也很實用,熟練tableView必要的功能

auto layout設定

我自己用了Color Hunt抓了自己喜歡的色票

大家也可以試試看,自己喜歡的配色。

table view cell設定

第一次用到String(describing:),是可以把Int轉成String的方法。

Core Data介紹與實作

Core Data有的人喜歡有的人不喜歡的東西,因為操作起來很複雜吧?

但還是學學看吧,再core data設定好之後使用的方法很簡單就跟物件導向一樣,設定Entities的命名Goal()再call function就可以用了!

到目前為止看起來蠻簡單的,如果有人有其他存資料的方式,像Firebase之類的東西歡迎分享,很想學~😂

tableViewCell呈現在畫面上、建立GoalType Enum

tableViewCell必須要設定的三個numberOfSections、numberOfRowsInSection、cellForRowAt,第一次看到用extension設定在外面,太帥啦,看起來好美,我以後都要這樣設。

建立CreateGoalVC的UI與部分

CATransition()的自製動畫

做出像Navigation Controller的動畫

第一次看到用CATransition()做動畫,感覺學會之後動畫可以很多變!延伸閱讀:CATransition官方文件

https://www.youtube.com/edit?o=U&video_id=EOqyTwEOeyo

讓按鈕跟著鍵盤往上的動畫:UIViewExt

按按鈕會讓另一個按鈕深淺變色

color library很可愛也很方便,可以直接選色!

有時候Xcode都會怪怪的。按下short term 就會crash,結果在storyboard刪掉按鈕連結之後重新連接就修好了。重開治百病是真的。

設定FinishGoalVC

Saving Goal Data to Persistent Store

分兩部分是因為中間卡住了我一直抓不到goalDescription,後來發現是因為中括號的位置脫離了FinishGoalVC的class,低級錯誤😂。

後面還有大家有興趣的話動手做的話可以自己直接去Youtube看,但最後面好像有些沒錄到,因為網路不穩錄影品質變很差斷斷續續的,如果有問題可以在下面留言、或參考一下github。

如果喜歡我的文章,歡迎給我一些Clap與留言😊

--

--