SwiftUI學(xué)習(xí)100天(Day56 - 項(xiàng)目 11,第四部分)

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

在跟隨我完成了幾天的項(xiàng)目之后,是時(shí)候走出你的舒適區(qū)并開(kāi)始編寫(xiě)你自己的代碼了。再一次,這些是我根據(jù)你到目前為止所學(xué)的一切給你設(shè)置的挑戰(zhàn),這意味著如果你下定決心,它們絕對(duì)在你的掌握之中。
艾米·莫林(Amy Morin)曾是一名社會(huì)工作者,后來(lái)成為一名作家,她曾說(shuō)過(guò):“你越多地練習(xí)忍受不適,你就會(huì)對(duì)自己接受新挑戰(zhàn)的能力越有信心?!?這是所有這些挑戰(zhàn)的根本目標(biāo):給你一點(diǎn)推動(dòng),讓你自己嘗試一些事情,弄清楚什么是有效的,并且——坦率地說(shuō)——在你找到正確的解決方案之前搞砸?guī)状巍?/p>
把事情做好很有價(jià)值,但把事情弄錯(cuò)也同樣有價(jià)值。接受這一點(diǎn)——學(xué)會(huì)容忍與自己編寫(xiě)新代碼相伴而生的不適——你將成為一名優(yōu)秀的開(kāi)發(fā)人員。
今天你應(yīng)該完成項(xiàng)目 11 的總結(jié)章節(jié),完成它的回顧,然后完成它的所有三個(gè)挑戰(zhàn)。

書(shū)蟲(chóng):總結(jié)
恭喜你完成了另一個(gè) SwiftUI 項(xiàng)目!借助 Core Data 等技術(shù),你現(xiàn)在能夠構(gòu)建一些與用戶(hù)交互的重要應(yīng)用程序,并且——最重要的是——?記住他們輸入的內(nèi)容。雖然我們只觸及了 Core Data 的表面,但它的功能更多,我希望 Apple 在未來(lái)的更新中繼續(xù)擴(kuò)展 Core Data 和 SwiftUI 之間的聯(lián)系。與此同時(shí),下一個(gè)項(xiàng)目將深入關(guān)注核心數(shù)據(jù)——有很多值得探索的地方!
至于你學(xué)到的其他東西,你現(xiàn)在已經(jīng)了解了更多 SwiftUI 的屬性包裝器,我希望你對(duì)選擇哪個(gè)以及何時(shí)選擇有所了解。@Binding
在構(gòu)建自定義 UI 組件時(shí)特別有用,因?yàn)樗谝晥D之間共享數(shù)據(jù)的能力非常有用。
最后一件事我想留給你,這是你甚至可能沒(méi)有注意到的事情。當(dāng)我們構(gòu)建一個(gè)星級(jí)評(píng)分組件時(shí),我們創(chuàng)建了一些像Button
和Slider
一樣成為用戶(hù)交互控件的東西
。然而,我們并沒(méi)有停下來(lái)考慮它如何與可訪(fǎng)問(wèn)性一起工作,這是一個(gè)問(wèn)題:Button
、Slider
和其他工作得很好,但是一旦我們開(kāi)始創(chuàng)建我們自己的組件,我們就需要介入并自己完成這項(xiàng)工作。
構(gòu)建每個(gè)人都可以訪(fǎng)問(wèn)的應(yīng)用程序是每個(gè)人都需要認(rèn)真對(duì)待的事情,這就是為什么我在未來(lái)將整個(gè)技術(shù)項(xiàng)目專(zhuān)門(mén)用于它——我們將回顧我們之前所做的項(xiàng)目并看到我們?nèi)绾胃倪M(jìn)它們。
不管怎樣,首先要做的是——你有一個(gè)新的評(píng)論和一些挑戰(zhàn)。祝你好運(yùn)!
回顧你學(xué)到的東西
任何人都可以聽(tīng)完教程,但要記住所教的內(nèi)容需要實(shí)際工作。我的工作是確保你從這些教程中獲得盡可能多的知識(shí),因此我準(zhǔn)備了一個(gè)簡(jiǎn)短的評(píng)論來(lái)幫助你檢查呢的學(xué)習(xí)情況。
單擊此處查看你在此項(xiàng)目中學(xué)到的知識(shí):
https://www.hackingwithswift.com/review/ios-swiftui/bookworm
挑戰(zhàn)
最好的學(xué)習(xí)方法之一是盡可能多地編寫(xiě)自己的代碼,因此你應(yīng)該嘗試通過(guò)以下三種方式擴(kuò)展此應(yīng)用程序,以確保你完全理解正在發(fā)生的事情。
現(xiàn)在可以不為書(shū)籍選擇標(biāo)題、作者或類(lèi)型,這會(huì)導(dǎo)致詳細(xì)視圖出現(xiàn)問(wèn)題。請(qǐng)通過(guò)強(qiáng)制默認(rèn)、驗(yàn)證表單或顯示未知類(lèi)型的默認(rèn)圖片來(lái)解決此問(wèn)題——你可以選擇。
修改
ContentView
以某種方式突出顯示被評(píng)為 1 星的書(shū)籍,例如將其名稱(chēng)顯示為紅色。向 Book 實(shí)體添加一個(gè)新的“date”屬性,分配
Date.now
給它以獲取當(dāng)前日期和時(shí)間,然后在DetailView
中格式化它。


