記錄學習內容。
主要是看網路上的文章和影片,做些紀錄。
內容可能有錯誤。
教學來源:
How to Make an App for Beginners (2020) - Lesson 1
教學內容: 16張牌,翻到兩個一樣的牌成功 。
Lesson24:
一
類別(class)或是struct : 每個字的第一個字大寫 。
像是:ViewController
其他 : 除了第一個字小寫 ,其餘也是每個字的第一個字大寫 。
像是:collectionView
二
動詞+名詞
三
右鍵選New Group 可以創建資料夾
四
//TODO: 我要到這裡
//MARK: 我要到這裡
參考:
[Swift]swift中使用MARK,TODO,FIXME
五
整理程式快捷鍵:
六
寫方法的時候,可以增加 _ 像是 :
func checkForMatch(_ secondFlippedCardIndex: IndexPath?){
}
這樣在呼叫方法的時候,就可以:
checkForMatch(index)
不用再:
checkForMatch(secondFlippedCardIndex: index)
Transitions – UIView Transition (視圖轉場動畫)
transition(from:to:duration:options:completion:)
collectionView 重複利用問題 :
就是上下滑動的時候 ,cell會重複利用。
所以 現在翻開一張牌,上下滑後 ,就會 變成 另一張牌 翻開 。
所以 在設定cell的時候,要特別加上這一段:
如果card 翻開 :
翻開card()
Else
關閉card()
CollectionView很像Android的RecyclerView:
Create a List with RecyclerView
Android、java,RecyclerView
Lesson27:
Q:
比較 兩個 卡牌 一不一樣 , 要記錄 第一張 牌的 index 。
但是 在上下滑動的時候 ,cell一樣會變化 , 所以翻開第二張牌,
反而 會去跟其他張牌比較, 而不是原本的第一張牌, 要怎麼解決這個問題 才可以 跟原本翻到的牌比大小 ?
A:
collectionView有一個有willDisplay 參數的方法 。
把collectionView的設定檔 移到 這方法裡 。
因為這個方法,可以在collectionView 還沒顯示前 ,先設定內容 。
這是ViewController版本的CollectionView ,之後再來練SwiftUI版本的CollectionView