小编Jur*_*rie的帖子

使用 MVVM 模式处理 SwiftUI 和 CoreLocation

我正在尝试使用MVVM-Pattern实现SwiftUICoreLocation。我的助手工作正常。但我怎样才能改变我的属性呢?我已经实现了我的. 这是我的问题。LocationManagerLocationViewModel@ObservedObjectLocationManagerLocationViewModel

我不知道如何实现它们动态更改的属性。我的 LocationView 中没有任何变化。通过按下一个按钮,任何事情一次都能正常工作。但LocationViewModel每次更改时都必须更改这些属性LocationManager

总之,我想显示当前用户的位置。

// Location Manager as Helper

import Foundation
import CoreLocation

class LocationManager: NSObject, ObservableObject {

    let locationManager = CLLocationManager()
    let geoCoder = CLGeocoder()

    @Published var location: CLLocation?
    @Published var placemark: CLPlacemark?

    override init() {
        super.init()
        self.locationManager.delegate = self
        self.locationManager.desiredAccuracy = kCLLocationAccuracyBest
        self.locationManager.requestWhenInUseAuthorization()
        self.locationManager.startUpdatingLocation()
    }

    func geoCode(with location: CLLocation) {

        geoCoder.reverseGeocodeLocation(location) { (placemark, error) in
            if error != nil {
                print(error!.localizedDescription) …
Run Code Online (Sandbox Code Playgroud)

xcode mvvm core-location swift swiftui

5
推荐指数
1
解决办法
2116
查看次数

如何在 Swift 4 中设置新的 Root viewController?

我是斯威夫特的菜鸟。我在导航控制器中有一个初始视图控制器。里面是一个tableView。当我单击 NavigationBar 中的添加按钮项时,会以模态方式出现一个新的 viewController。现在我单击呈现的 Vc 中的另一个按钮,呈现的 Vc 被关闭。现在存在根 Vc。但我会展示一个新的根 vc。当关闭第二个 Vc 时,我将设置一个新的根 Vc。

当我关闭第二个 vc 时,我可以以编程方式设置一个新的根 Vc 吗?

root viewcontroller dismiss presentviewcontroller swift4

4
推荐指数
1
解决办法
6925
查看次数