我正在尝试使用MVVM-Pattern实现SwiftUI和CoreLocation。我的助手工作正常。但我怎样才能改变我的属性呢?我已经实现了我的. 这是我的问题。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) 我是斯威夫特的菜鸟。我在导航控制器中有一个初始视图控制器。里面是一个tableView。当我单击 NavigationBar 中的添加按钮项时,会以模态方式出现一个新的 viewController。现在我单击呈现的 Vc 中的另一个按钮,呈现的 Vc 被关闭。现在存在根 Vc。但我会展示一个新的根 vc。当关闭第二个 Vc 时,我将设置一个新的根 Vc。
当我关闭第二个 vc 时,我可以以编程方式设置一个新的根 Vc 吗?