我正在使用 CoreData,并且我有一个 Thing 类型的 NSManagedObject。当我设置断点时,我可以控制台“po aThing”并显示存储的数据。
{
thingID = 5181c56063ab02c4d1000016;
distance = "2.075121";
lat = "37.815834";
lng = "-122.406417";
}
但是,如果我尝试访问 lat 或 lng(它们在 Core Data 中是双精度的)。我得到“nan”返回。如果我尝试“po aThing.lat”,控制台会显示 nan。
如果我尝试“po aThing.thingID”,控制台会显示 5181c56063ab02c4d1000016。
如果我尝试像 newThing.lat = aThing.lat 那样分配,那么 newThing.lat 就会变成 nan。
我猜它与数据有关吗?
更新:
这是我的 .h 的属性
@property (nonatomic) double lat;
@property (nonatomic) double lng;
这是我使用它们的方式
coordinate.latitude = thing.lat;
coordinate.longitude = thing.lng;
这是我如何改变它们
@property (nonatomic) double *lat;
@property (nonatomic) double *lng;
以及我现在如何使用它们,它似乎有效
coordinate.latitude = *(thing.lat);
coordinate.longitude = *(thing.lng);