Swift5
1import UIKit 2 3class ViewController: UIViewController,UICollectionViewDelegate,UICollectionViewDataSource { 4 5 6 7 @IBOutlet weak var collectionView: UICollectionView! 8 9 var model = CardMoedel() 10 var cardArray = [Card]() 11 12 override func viewDidLoad() { 13 super.viewDidLoad() 14 15 collectionView.delegate = self 16 collectionView.dataSource = self 17 18 //Call getcard method of cardModel 19 cardArray = model.getCards() 20 } 21 22 override func didReceiveMemoryWarning() { 23 super.didReceiveMemoryWarning() 24 25 26 } 27 //section目のセクションにいくつ行があるかを返す 28 func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { 29 30 return cardArray.count 31 } 32 33 func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { 34 35 let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "CardCell", for: indexPath) 36 37 return cell 38 } 39 40 41 func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { 42 43 44 } 45 46}
Swift5
1CardModel 2import Foundation 3 4class CardMoedel{ 5 6 func getCards() -> [Card] { 7 8 //Declare an array to store the generate cards 9 var generatedCardsArray = [Card]() 10 11 //Randomaly generate pairs of card 12 for _ in 1...8{ 13 14 //getNumber 15 let randomNumber = arc4random_uniform(13) + 1 16 17 //Log the Number 18 print(randomNumber) 19 20 //CreateNumber 21 var cardOne = Card() 22 cardOne.imageName = "card(randomNumber)" 23 24 generatedCardsArray.append(cardOne) 25 26 //create secod 27 let cardTwo = Card() 28 cardTwo.imageName = "card(randomNumber)" 29 30 generatedCardsArray.append(cardTwo) 31 32 //Optinal: make it so we only have unipue paires of cords 33 34 35 } 36 37 //Randomize thr array 38 39 40 //Return the array 41 return generatedCardsArray 42 43 } 44 45 46} 47
collectionViewを初めて使うのですが、return cardArray.countのところでcellの行数を返しているのはわかるのですが、ビルドすると44のカードマスになるのですがどの段階で44が設定されるのでしょうか?
for 1...8のところで裏表を指定した配列のリストが8枚あると認識でしょうか?
Assetには13種類用意されておりその中から8種類をランダム指定して取り出しているということですか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/15 04:10 編集
2020/03/15 04:36