SwiftUI學(xué)習(xí)100天(Day73 - 項(xiàng)目 14,第六部分)

原創(chuàng)鏈接:https://www.hackingwithswift.com/100/swiftui
以下內(nèi)容僅供學(xué)習(xí)參考:

這是另一個(gè)困難的項(xiàng)目,但你成功了,我希望你的頭腦已經(jīng)在思考如何使用你學(xué)到的技能。無論是為購物應(yīng)用程序集成地圖、使用 Face ID 保護(hù)數(shù)據(jù),還是其他,從長遠(yuǎn)來看,你在這里學(xué)習(xí)的每項(xiàng)技能都會(huì)帶來回報(bào)。
今天我們將進(jìn)入項(xiàng)目的審查和挑戰(zhàn)部分,你可以在其中使用你自己的一些代碼進(jìn)一步提升你的技能。正如拉爾夫·沃爾多·愛默生 (Ralph Waldo Emerson) 曾經(jīng)說過的那樣,“除非你嘗試做一些超出你已經(jīng)掌握的事情,否則你永遠(yuǎn)不會(huì)成長?!?所以,把這當(dāng)作成長的一天吧!
今天你應(yīng)該完成項(xiàng)目 14 的總結(jié)章節(jié),完成它的回顧,然后完成它的所有三個(gè)挑戰(zhàn)。

愿望清單:總結(jié)
這是我們迄今為止最大的項(xiàng)目,但我們涵蓋了大量的基礎(chǔ)知識(shí):添加Comparable
自定義類型、查找文檔目錄、集成 MapKit、使用生物識(shí)別身份驗(yàn)證、安全Data
寫入等等。當(dāng)然,你還有另一個(gè)真正的應(yīng)用程序,希望你能夠完成下面的挑戰(zhàn)以更進(jìn)一步。
盡管我們制作的這個(gè)確切的項(xiàng)目將地圖置于其存在的中心,但它們在其他地方也非常有用,就像小紅利一樣 - 顯示會(huì)議地點(diǎn)或朋友的位置等,可以添加額外的有用細(xì)節(jié)你的其他項(xiàng)目。
回顧你學(xué)到的東西
任何人都可以聽完教程,但要記住所教的內(nèi)容需要實(shí)際工作。我的工作是確保你從這些教程中獲得盡可能多的知識(shí),因此我準(zhǔn)備了一個(gè)簡短的評論來幫助你檢查你的學(xué)習(xí)情況。
單擊此處查看你在此項(xiàng)目中學(xué)到的知識(shí):
https://www.hackingwithswift.com/review/ios-swiftui/bucket-list
挑戰(zhàn)
最好的學(xué)習(xí)方法之一是盡可能多地編寫自己的代碼,因此你應(yīng)該嘗試通過以下三種方式擴(kuò)展此應(yīng)用程序,以確保你完全理解正在發(fā)生的事情。
我們的 + 按鈕很難點(diǎn)擊。嘗試將其所有修飾符移動(dòng)到按鈕內(nèi)的圖像 - 它有什么不同,你能想到為什么嗎?
當(dāng)生物識(shí)別身份驗(yàn)證過程中發(fā)生錯(cuò)誤時(shí),我們的應(yīng)用程序會(huì)靜默失敗,因此添加代碼以在警報(bào)中顯示這些錯(cuò)誤。
創(chuàng)建另一個(gè)視圖模型,這次是
EditView
.?你在視圖模型中放什么取決于你,但我建議在視圖本身中放置離開dismiss
和
onSave
?- 前者使用只能由視圖讀取的環(huán)境,而后者在移入時(shí)并沒有真正添加任何東西該模型。
提示:最后一個(gè)挑戰(zhàn)將要求你在初始化程序中EditView
創(chuàng)建一個(gè)實(shí)例
StateObject
——請記住在屬性名稱中使用下劃線!


