首页 > 解决方案 > 需要快速检索用户坐标

问题描述

所以我需要将用户的位置坐标存储在数据库中。到目前为止,我已经创建了一个包含数据库的 viewcontroller.swift,但我将 mapkit 附加到另一个 viewcontroller 并打印出坐标。我想知道如何获取这些坐标并存储在我的第一个视图控制器中创建的数据库中。

打印坐标

func locationManager(_ manager: CLLocationManager, didUpdateLocations 
locations: [CLLocation]) {
    if let location = locations.first{
        print(location.coordinate)
    }

需要在这里输入

let building = buildingField.text?.trimmingCharacters(in:
.whitespacesAndNewlines)


if(building?.isEmpty)!{
        print("Building is Empty")
    }

if sqlite3_bind_text(stmt, 5, building, -1, nil) != SQLITE_OK{
        print("Error binding building")
    }

标签: swiftmapkit

解决方案


您始终可以通过在当前 VC 中创建该类的实例来访问另一个 ViewController 的变量。在这种情况下,您可以创建一个 VC 实例,其中 SQLite DB 代码存在于 MapViewController 中,然后将坐标分配给第一个 VC 中的变量。如果你需要执行一个任务,比如在传递坐标的情况下写入数据库,那么你可以使用 NSNotificationCenter 类,它允许你在视图控制器之间进行通信。下面的链接应该让您更好地了解我在说什么。

参考:

StackOverflow 关于传递值的帖子

NSNotificationCenter 上的 Medium 教程


推荐阅读