我正在尝试在核心数据中保存纬度和经度,但导致访问不良。 这是代码:
编辑:
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在我打印时有价值
答案 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子类。