0

私は CoreData を使用しており、タイプ Thing の NSManagedObject を持っています。ブレークポイントを設定すると、「po aThing」をコンソールでき、保存されたデータが表示されます。

{
    thingID = 5181c56063ab02c4d1000016;
    distance = "2.075121";
    lat = "37.815834";
    lng = "-122.406417";
}

しかし、lat または lng (Core Data では double) にアクセスしようとすると、「ナン」が返ってきます。「po aThing.lat」を試すと、コンソールに nan が表示されます。

「po aThing.thingID」を試すと、コンソールに 5181c56063ab02c4d1000016 が表示されます。

newThing.lat = aThing.lat のように割り当てようとすると、newThing.lat は nan になります。

データが double であることに関係していると思いますか?

アップデート:

これが私の.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);
4

1 に答える 1