【问题标题】:Type of expression is ambiguous without more context xcode 11没有更多上下文 xcode 11 的表达式类型不明确
【发布时间】:2020-03-05 11:43:51
【问题描述】:

我需要帮助。 我试图制作一个检查数字是否为素数的应用程序。每次我尝试运行它都会给我错误。 我正在尝试添加文本字段以获得输入。 你能帮我做一个更好的设计吗?我一直在寻找颜色以使它看起来过时。 我的代码:

var number:Int = 56
var isPrime:Bool = true
import UIKit
import SwiftUI
var x = "is it prime?"
struct ContentView: View {
@State private var x = "is it prime?"


    var body: some View {
        ZStack{
                    Color.red
            HStack {
                TextField("Placeholder", text: number)
                Button(action: {switch number {

                    case 1:
                        isPrime = false

                    case 2:
                        isPrime = true

                    case 3:
                        isPrime = true

                    default:
                        primeCheck:for i in 2...Int(sqrt(Double(number))) {

                            if number % i == 0 {

                                isPrime = false
                                break primeCheck

                            }
                        }

                    }

                    if isPrime {

                        self.x = "The number \(number) is prime!"

                    } else {

                        self.x = "The number \(number) is composite!"
                    }}) {
                     Text("\(x)")
                    .frame(width:300,height:100)
                    .padding()
                    .background(Color.gray)
                    .cornerRadius(40)
                    .foregroundColor(.white)
                }
            }
    }
}
}

【问题讨论】:

    标签: swift xcode swiftui xcode11


    【解决方案1】:

    您需要一个@State,以便 UI 根据变量 x 进行更新

    您还应该在主体内移动变量,因为变量不需要是实例变量。

    struct ContentView: View {
        @State private var x = 1
    
        var body: some View {
            VStack {
                Button(action: {
                    self.x = 2
                }) {
                    Text("increase")
                }
                Text("\(x)")
            }
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2019-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-23
      • 2021-05-17
      • 2019-04-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多