尝试将经度和经度保存到Core数据会导致访问不当

时间:2013-06-25 11:47:44

标签: 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.Slat和lng在我打印时有价值

1 个答案:

答案 0 :(得分:4)

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

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

<强>更新

对于您的收藏夹实体,placeLatitude属性应为double。但是,在使用NSManagedObject子类收藏夹时,需要使用NSNumber来设置placeLatitude。 Core Data使用NSNumber存储基元,如int,float,double,bool。

让Xcode生成您的收藏夹课程。在左窗格中选择核心数据数据模型,然后选择Xcode - &gt;编辑 - &gt;创建NSManagedObject子类。