SwiftUI error All In One


SwiftUI error All In One

Instance member xxx cannot be used on type yyy

Instance member 'game' cannot be used on type 'ContentView_Previews'


//
//  ContentView.swift
//  MemorizeGame
//
//  Created by 夏凌晨 on 2020/10/28.
//  Copyright © 2020 xgqfrms. All rights reserved.
//

// viewModel
import SwiftUI

// ✅ some View,返回任意類型的 View, 自動推斷 View 類型
// Identifiable
struct ContentView: View {
  var viewModel: EmojiMemoryGame

  var body: some View {
    HStack {
      // ForEach(0..<4) { index in
      ForEach(viewModel.cards) { card in
        // print("index \(index)")
        CardView(card: card).onTapGesture {
          // self
          self.viewModel.choose(card: card)
        }
        // CardView(isFaceUp: (index % 2 == 0))
      }
    }
//    HStack {
//      CardView(isFaceUp: true)
//      CardView(isFaceUp: false)
//      CardView(isFaceUp: true)
//      CardView(isFaceUp: false)
//    }
  }
}

struct CardView: View {
  var card: MemoryGame<String>.Card
  // var isFaceUp: Bool
  // var isFaceUp: Bool = false
  var body: some View {
    ZStack {
      if card.isFaceUp {
        RoundedRectangle(cornerRadius: 10.0).fill(Color.white)
        RoundedRectangle(cornerRadius: 10.0).stroke(lineWidth: 3.0)
        Text(card.content).font(.largeTitle)
        // Text("👻").font(.largeTitle)
      } else {
        RoundedRectangle(cornerRadius: 10.0).fill(Color.orange)
      }
    }.padding()
  }
}




//  PreviewProvider 僅用於預覽,代碼在項目中沒有實際的意義
struct ContentView_Previews: PreviewProvider {
  let game = EmojiMemoryGame()
  static var previews: some View {
    ContentView(viewModel: game)
  }
}

change file name bug

  1. old MemorizeGame ❌
//
//  ContentView.swift
//  MemorizeGame

  1. new MemoryGame ✅

//
//  ContentView.swift
//  MemoryGame

refs



©xgqfrms 2012-2020

www.cnblogs.com 發布文章使用:只允許注冊用戶才可以訪問!



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM