SwiftUI學習100天(Day91 - 項目 17,第六部分)

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

完成另一個應用程序后,你就可以回顧所學知識并接受一些挑戰(zhàn),以確保你真正理解所涵蓋的內容 – 這兩件事很容易跳過,但這兩件事對于良好的學習至關重要。
美國總統(tǒng)約翰·肯尼迪 (John F. Kennedy) 曾說過,“事情不會發(fā)生——事情是做了才發(fā)生的”,這確實觸及了這些挑戰(zhàn)的核心。你需要自己動手寫代碼——讓事情自己發(fā)生——否則你所擁有的只是一個想法。正如史蒂夫·喬布斯所說,“沒有行動的想法不是想法——它們是遺憾?!?/p>
今天你應該完成項目 17 的總結章節(jié),完成它的回顧,然后完成它的所有三個挑戰(zhàn)。

Flashzilla:總結
這是我們的另一個超大型項目,也是另一個我們涵蓋了一些非常棒的技術,如手勢、觸覺、Combine 等的項目。當這些功能一起工作時,我們可以在我們的應用程序中做一些非凡的事情,為用戶提供無縫和愉快的體驗。
你還再次看到了確保我們的應用程序可訪問性的重要性。很容易被炫酷的手勢等沖昏頭腦,但隨后忘記偏離標準 UI 也意味著我們需要在 VoiceOver 等方面提升我們的游戲水平。任何人都可以提出一個好主意,但要制作出出色的應用程序就意味著你已經(jīng)考慮到了每個人的需求。
回顧你學到的東西
任何人都可以聽完教程,但要記住所教的內容需要實際工作。我的工作是確保你從這些教程中獲得盡可能多的知識,因此我準備了一個簡短的評論來幫助你檢查你的學習情況。
單擊此處查看你在此項目中學到的知識:
https://www.hackingwithswift.com/review/ios-swiftui/flashzilla
挑戰(zhàn)
最好的學習方法之一是盡可能多地編寫自己的代碼,因此你應該嘗試通過以下幾種方式擴展此應用程序,以確保你完全理解正在發(fā)生的事情。
添加卡片時,文本字段會保留其當前文本 - 修復該問題,以便在添加卡片后文本字段自行清除。
如果你將卡片向右拖動但距離不足以將其移除,然后松開,你會看到它在滑回中心時變成紅色。為什么會發(fā)生這種情況,如何解決?(提示:想想我們立即設置
offset
回?0 的方式
,即使卡片還沒有動畫。你可以用一個三元中的一個三元來解決這個問題,但自定義修改器會更干凈。)對于更難的挑戰(zhàn):當用戶回答錯誤時,將該卡片添加回數(shù)組中,以便用戶可以再次嘗試。成功地做到這一點意味著重新考慮
ForEach
循環(huán),因為僅僅依靠簡單的整數(shù)是不夠的——你的卡片需要是唯一可識別的。
還渴望更多?嘗試通過兩種方式升級我們的加載和保存代碼:
讓它使用 JSON 而不是文檔
UserDefaults
——這通常是個好主意,所以你應該練習一下。嘗試找到一種方法來集中卡片的加載和保存代碼。你可能需要做一些實驗才能找到你喜歡的東西!


