错误消息:线程 1:EXC_BAD_ACCESS(代码=2,地址=0x7ffeead03e18)
Error message: Thread 1: EXC_BAD_ACCESS (code=2, address=0x7ffeead03e18)
我正在创建一个应用程序,但出现此错误:线程 1:EXC_BAD_ACCESS(代码=2,地址=0x7ffeead03e18)。整个代码运行没有任何错误,只是当我在几秒钟后尝试启动应用程序时出现此错误。
这是我的应用代码:
import SwiftUI
struct Flower: Shape {
var petalOffset: Double = -20
var petalWidth: Double = 100
func path(in rect: CGRect) -> Path {
var path = Path()
for number in stride(from: 0, to: CGFloat.pi * 2, by: CGFloat.pi / 8) {
let rotation = CGAffineTransform(rotationAngle: number)
let position = rotation.concatenating(CGAffineTransform(translationX: rect.width / 2, y: rect.height / 2))
let originalPetal = Path(ellipseIn: CGRect(x: CGFloat(petalOffset), y: 0, width: CGFloat(petalWidth), height: rect.width / 2))
let rotatedPetal = originalPetal.applying(position)
path.addPath(rotatedPetal)
}
return path
}
}
struct ContentView: View {
@State private var petalOffset = -20.0
@State private var petalWidth = 100.0
var body: some View {
VStack {
Flower(petalOffset: petalOffset, petalWidth: petalWidth)
.stroke(Color.red, lineWidth: 1)
Text("Offset")
Slider(value: $petalOffset, in: -40 ... 40)
padding([.horizontal, .bottom])
Text("Width")
Slider(value: $petalWidth, in: 0 ... 100)
.padding(.horizontal)
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
有谁知道如何解决这个问题?
这不是一个明显的问题。在 iPad 上,它导致了字面上的堆栈溢出。通过反复试验注释掉代码,我找到了罪魁祸首:一个缺失的点。
变化:
Slider(value: $petalOffset, in: -40 ... 40)
padding([.horizontal, .bottom])
收件人:
Slider(value: $petalOffset, in: -40 ... 40)
.padding([.horizontal, .bottom])
遇到了同样的问题,我玩得很开心。在可能的情况下,我在 onChange.
之前错过了一个点
在 SwiftUI 中仍然看到这个问题真是太奇怪了,没有警告错误详细信息导致有问题的行...
对于面临相同问题的人EXC_BAD_ACCESS(代码=2,地址=0x000000)仔细检查你的视图修饰符,祝你好运!
我正在创建一个应用程序,但出现此错误:线程 1:EXC_BAD_ACCESS(代码=2,地址=0x7ffeead03e18)。整个代码运行没有任何错误,只是当我在几秒钟后尝试启动应用程序时出现此错误。
这是我的应用代码:
import SwiftUI
struct Flower: Shape {
var petalOffset: Double = -20
var petalWidth: Double = 100
func path(in rect: CGRect) -> Path {
var path = Path()
for number in stride(from: 0, to: CGFloat.pi * 2, by: CGFloat.pi / 8) {
let rotation = CGAffineTransform(rotationAngle: number)
let position = rotation.concatenating(CGAffineTransform(translationX: rect.width / 2, y: rect.height / 2))
let originalPetal = Path(ellipseIn: CGRect(x: CGFloat(petalOffset), y: 0, width: CGFloat(petalWidth), height: rect.width / 2))
let rotatedPetal = originalPetal.applying(position)
path.addPath(rotatedPetal)
}
return path
}
}
struct ContentView: View {
@State private var petalOffset = -20.0
@State private var petalWidth = 100.0
var body: some View {
VStack {
Flower(petalOffset: petalOffset, petalWidth: petalWidth)
.stroke(Color.red, lineWidth: 1)
Text("Offset")
Slider(value: $petalOffset, in: -40 ... 40)
padding([.horizontal, .bottom])
Text("Width")
Slider(value: $petalWidth, in: 0 ... 100)
.padding(.horizontal)
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
有谁知道如何解决这个问题?
这不是一个明显的问题。在 iPad 上,它导致了字面上的堆栈溢出。通过反复试验注释掉代码,我找到了罪魁祸首:一个缺失的点。
变化:
Slider(value: $petalOffset, in: -40 ... 40)
padding([.horizontal, .bottom])
收件人:
Slider(value: $petalOffset, in: -40 ... 40)
.padding([.horizontal, .bottom])
遇到了同样的问题,我玩得很开心。在可能的情况下,我在 onChange.
之前错过了一个点在 SwiftUI 中仍然看到这个问题真是太奇怪了,没有警告错误详细信息导致有问题的行...
对于面临相同问题的人EXC_BAD_ACCESS(代码=2,地址=0x000000)仔细检查你的视图修饰符,祝你好运!