ios - 错误消息: Thread 1: EXC_BAD_ACCESS (code=2, address=0x7ffeead03e18)

标签 ios xcode error-handling swiftui cgaffinetransform

我正在创建一个应用程序,但出现以下错误:线程1:EXC_BAD_ACCESS(code = 2,address = 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])

关于ios - 错误消息: Thread 1: EXC_BAD_ACCESS (code=2, address=0x7ffeead03e18),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64387318/

相关文章:

ios - 如何将单个 SignalProducer 绑定(bind)到多个 UI 组件?

ios - 从 Nib 加载时 UIView 的帧大小?

shell - 忽略setenv命令中的错误,并继续执行csh脚本

c# - Entity Framework 中的数据库错误处理

ios - Objective c-Symbolication 问题 Error : "DEVELOPER_DIR" is not defined at ./symbolicatecrash line 60

python - 我没有成功捕获来自 SQLAlchemy 的操作错误

ios - [NSNull 长度] : unrecognized selector sent to instance in objective-c

ios - 如何在谷歌地图 iOS 中到达目的地时获得通知

iphone - 如何在 XCode 4 中删除文档 "iOs 4.2 Library"

ios - 你如何在 Xcode 中为按钮设置选定的图像?