【问题标题】:Getting Modifying State During View Update When Using Map in SwiftUI在 SwiftUI 中使用 Map 时在视图更新期间获取修改状态
【发布时间】:2021-12-11 21:58:51
【问题描述】:

我有以下代码:

struct ContentView: View {
    
    @State private var defaultRegion: MKCoordinateRegion = MKCoordinateRegion(center: CLLocationCoordinate2D.init(latitude: 29.726819, longitude: -95.393692), latitudinalMeters: 100, longitudinalMeters: 100)
    
    var body: some View {
        
        Map(coordinateRegion: $defaultRegion)
            .padding()
            
    }
}

每当我运行此代码时,我都会收到以下警告:

[SwiftUI] Modifying state during view update, this will cause undefined behavior.

我能做什么?

【问题讨论】:

    标签: swiftui


    【解决方案1】:

    由于我不关心是否阅读该区域,我发现类似这样的内容会抑制警告。我把它留给知识渊博的人来确定它是否是正确的解决方案:

    struct ContentView: View {
    
    var defaultRegion: MKCoordinateRegion = MKCoordinateRegion(center: CLLocationCoordinate2D.init(latitude: 29.726819, longitude: -95.393692), latitudinalMeters: 100, longitudinalMeters: 100)
    
    var body: some View {
        
        Map(coordinateRegion: Binding.constant(defaultRegion))
            .padding()
            
    }
    

    }

    【讨论】:

    • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
    猜你喜欢
    • 2022-11-13
    • 2019-12-17
    • 2020-06-12
    • 2023-02-06
    • 1970-01-01
    • 2021-09-17
    • 1970-01-01
    • 2020-10-05
    • 2021-02-05
    相关资源
    最近更新 更多