JSON呼び出しから(double)値を出力/アクセスして取得しようとしています:
[イベント緯度]: 認識されないセレクターがインスタンス 0x8d09970 に送信されました
同じオブジェクトから文字列値にアクセスすると、問題なく出力されます。デバッガーに値が表示され、event.latitude が double から NSCFNumber としてマップされます。これが緯度を適切にキャストまたは宣言していないだけなのか、それともその値に対して正しくマッピングされていないのかはわかりません。ストリングスワーク
ここにいくつかのコードがあります:
event.h
@interface Event : NSObject {
NSNumber *latitude;
}
@property (nonatomic, retain) NSNumber *latitude;
@end
ViewController.m スニペット
Event *event = (Event *)[eventsArray objectAtIndex:indexPath.row];
static NSNumberFormatter *numberFormatter;
if (numberFormatter == nil) {
numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setNumberStyle:NSNumberFormatterDecimalStyle];
[numberFormatter setMaximumFractionDigits:3];
}
NSLog(@"Event - %@", event.name ); //This works just fine
NSLog(@"Event - %@", event.latitude ); //This is where I am testing different ways of accessing the latitude
NSLog(@"Event - %@", [numberFormatter stringFromNumber:[event latitude]] );
//NSLog(@"Event - %@", [[event latitude] stringValue] );
NSString *coordinatesString = [[NSString alloc] initWithFormat:@"Lat:%@, Lon:%@",
[numberFormatter stringFromNumber:[event latitude]],
[numberFormatter stringFromNumber:[event longitude]]];