Swift iPad 上的游乐场无法按预期使用 SwiftUI 代码
Swift Playgrounds on iPad Not Working with SwiftUI code as Expected
附加代码在 Mac 的 Playgrounds 模拟器上按预期工作,但当相同代码在 iPad 上运行时,各州不会注册视图更新。有谁知道一个已知的issue/fix/workaround?
import SwiftUI
import PlaygroundSupport
struct MathGame: View
{
@State var showAnswer = false
@State var answer = ""
@State var x = Int.random(in: 0...100)
@State var y = Int.random(in: 0...100)
var body: some View
{
VStack
{
Text(x.description)
Text(y.description)
if showAnswer
{
let z = x + y
Text(z.description)
} else
{
Text(" ")
}
Button("Next Question")
{
showAnswer = false
x = Int.random(in: 0...100)
y = Int.random(in: 0...100)
}
Spacer()
Toggle(isOn: $showAnswer)
{
Text("Show Answer")
}
}.padding().font(.system(size: 64))
}
}
PlaygroundPage.current.setLiveView(MathGame())
我遇到了同样的问题,我只是发现将“显示结果”设置为 false 可以解决问题。
我的 iPad 在 iOS 14.6 上运行。我希望带有 iOS 15 的新 Swift 游乐场一定会解决这个问题。
附加代码在 Mac 的 Playgrounds 模拟器上按预期工作,但当相同代码在 iPad 上运行时,各州不会注册视图更新。有谁知道一个已知的issue/fix/workaround?
import SwiftUI
import PlaygroundSupport
struct MathGame: View
{
@State var showAnswer = false
@State var answer = ""
@State var x = Int.random(in: 0...100)
@State var y = Int.random(in: 0...100)
var body: some View
{
VStack
{
Text(x.description)
Text(y.description)
if showAnswer
{
let z = x + y
Text(z.description)
} else
{
Text(" ")
}
Button("Next Question")
{
showAnswer = false
x = Int.random(in: 0...100)
y = Int.random(in: 0...100)
}
Spacer()
Toggle(isOn: $showAnswer)
{
Text("Show Answer")
}
}.padding().font(.system(size: 64))
}
}
PlaygroundPage.current.setLiveView(MathGame())
我遇到了同样的问题,我只是发现将“显示结果”设置为 false 可以解决问题。
我的 iPad 在 iOS 14.6 上运行。我希望带有 iOS 15 的新 Swift 游乐场一定会解决这个问题。