ios - 尝试将纬度和经度保存到核心数据会导致访问错误

标签 ios core-data

我试图在核心数据中保存纬度和经度,但导致无法访问。 这是代码:

编辑:

Favourites *fav = (Favourites *)[NSEntityDescription insertNewObjectForEntityForName:@"Favourites" inManagedObjectContext:_managedObjectContext];

NSString *str = [NSString stringWithFormat:@"%@",point.title];
int index =[sharedRequest.name indexOfObject:str];
[fav setPlaceName:str];

double lat = [[sharedRequest.latArray objectAtIndex:index] doubleValue];
double lng = [[sharedRequest.lngArray objectAtIndex:index] doubleValue];

[fav setPlaceLatitude:lat];
[fav setPlaceLongitude:lng];

我不知道为什么会这样。任何帮助将不胜感激。

P.S lat 和 lng 在我打印它们时具有值(value)

最佳答案

您需要将纬度和经度值保存为 NSNumber 而不是 double 值。

NSNumber *latitude = [NSNumber numberWithDouble:lat];
[fav setPlaceLatitude:latitude];

更新

对于您的收藏夹实体,placeLatitude 属性应该是 double 值。但是,在使用NSManagedObject子类Favorites时,需要使用NSNumber来设置placeLatitude。 Core Data 使用 NSNumber 来存储原语,例如 int、float、double、bool。

让 Xcode 生成您的收藏夹类。在左侧 Pane 中选择 Core Data 数据模型,然后选择 Xcode -> Editor -> Create NSManagedObject Subclass。

关于ios - 尝试将纬度和经度保存到核心数据会导致访问错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17296485/

相关文章:

ios - 追加时替换 URL

iphone - iOS:存储行和列的表

ios - NSPersistentCloudKitContainer 丢失数据

ios - 跟踪 NSManagedObject 的属性变化

ios - 预定的本地通知不规则

ios - 我可以检查 Xcode 调试器中的任何值吗?

ios - 使用 Kiwi 测试核心数据实体的后台保存

objective-c - 删除核心数据实体中的二进制属性的数据(在 NSImageView 中使用)

iphone - Core Data 中的轻量级迁移不能进行哪些更改?

ios - Grails多部分服务流意外结束