gpt4 book ai didi

objective-c - 将 mapView.userLocation.location.coordinate.longitude 保存到 sqlite 数据库中

转载 作者:行者123 更新时间:2023-12-03 18:31:46 25 4
gpt4 key购买 nike

我想将从 mapView.userLocation.location.coordinate.longitude 返回的值插入到我的 sqlite3 数据库中。我不确定它的类型。我不能这样做:

sqlite3_bind_text(stmt, 1, [mapView.userLocation.location.coordinate.longitude floatValue], -1, nil);

它给出了“无法转换为指针类型”错误,因为经度不是 float 的,我猜。

数据库表中的字段类型为 FLOAT。如何将经度值转换为 float 值?

非常感谢。

最佳答案

MKUserLocation 的文档显示 location 属性的类型为 CLLocation。 CLLocation 的文档显示坐标属性的类型为 CLLocationCoordinate2D。

Core Location Data Types Reference表明 CLLocationCoordinate2D 是一个包含纬度和经度的结构,每个纬度和经度都是 CLLocationDegrees 类型。

在同一页上,显示的 CLLocationDegrees 只是 double 的另一个名称。 .所以纬度和经度是 double 类型。

所以不要使用 sqlite3_bind_text , 使用 sqlite3_bind_double :

sqlite3_bind_double(stmt, 1, mapView.userLocation.location.coordinate.longitude);

并加载值,你会使用类似的东西:
double longitude = sqlite3_column_double(stmt, column_index_here);

关于objective-c - 将 mapView.userLocation.location.coordinate.longitude 保存到 sqlite 数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4635179/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com