// Example of using MVVM with MapKit in Swift
import UIKit
import MapKit
// ViewModel
class MapViewModel {
var locationCoordinates: CLLocationCoordinate2D?
func updateLocation(latitude: Double, longitude: Double) {
locationCoordinates = CLLocationCoordinate2D(latitude: latitude, longitude: longitude)
}
}
// ViewController
class MapViewController: UIViewController {
@IBOutlet weak var mapView: MKMapView!
var viewModel = MapViewModel()
override func viewDidLoad() {
super.viewDidLoad()
if let coordinates = viewModel.locationCoordinates {
let annotation = MKPointAnnotation()
annotation.coordinate = coordinates
mapView.addAnnotation(annotation)
mapView.setCenter(coordinates, animated: true)
}
}
}
How do I avoid rehashing overhead with std::set in multithreaded code?
How do I find elements with custom comparators with std::set for embedded targets?
How do I erase elements while iterating with std::set for embedded targets?
How do I provide stable iteration order with std::unordered_map for large datasets?
How do I reserve capacity ahead of time with std::unordered_map for large datasets?
How do I erase elements while iterating with std::unordered_map in multithreaded code?
How do I provide stable iteration order with std::map for embedded targets?
How do I provide stable iteration order with std::map in multithreaded code?
How do I avoid rehashing overhead with std::map in performance-sensitive code?
How do I merge two containers efficiently with std::map for embedded targets?