Это кусок кода Terremoto от Крейга Шампа .. отлично работает на симуляторе (OS 4.2), но не на устройстве.
self.currentEarthquake.magnitude = [formatter numberFromString:magString]; and
NSNumber *latituide = [formatter numberFromString:[comp objectAtIndex:0]];
NSNumber *longitude = [formatter numberFromString:[comp objectAtIndex:1]]
на устройстве равно нулю, а на симуляторе есть все данные .... здесь весь код .... мое устройство 3g с 4.2
NSNumberFormatter это проблема ???
if ([elementName isEqualToString:@"title"]) {
//<title>M 5.8, Banda Sea</title>
NSArray *components = [self.propertyValue componentsSeparatedByString:@","];
if (components.count > 1) {
// strip the M
NSString *magString = [[[components objectAtIndex:0] componentsSeparatedByString:@" "] objectAtIndex:1];
NSLog(@"String %@",magString);
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
self.currentEarthquake.magnitude = [formatter numberFromString:magString];
self.currentEarthquake.place = [components objectAtIndex:1];
[formatter release];
NSLog(@"Magnetudine %@",self.currentEarthquake.magnitude);
NSLog(@"Place %@",self.currentEarthquake.place);
NSLocale *currentUsersLocale = [NSLocale currentLocale];
NSLog(@"Current Locale: %@", [currentUsersLocale localeIdentifier]);
}
} else if ([elementName isEqualToString:@"updated"]) {
//<updated>2008-04-29T19:10:01Z</updated>
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss'Z'"];
self.currentEarthquake.lastUpdate = [formatter dateFromString:self.propertyValue];
[formatter release];
NSLog(@"Date %@",self.currentEarthquake.lastUpdate);
} else if ([elementName isEqualToString:@"georss:point"]) {
NSArray *comp = [self.propertyValue componentsSeparatedByString:@" "];
NSLog(@"Comp %@",comp);
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
NSNumber *latituide = [formatter numberFromString:[comp objectAtIndex:0]];
NSLog(@"Latitude %@",latituide);
NSNumber *longitude = [formatter numberFromString:[comp objectAtIndex:1]];
[formatter release];
CLLocation *location = [[CLLocation alloc] initWithLatitude:latituide.floatValue
longitude:longitude.floatValue];
self.currentEarthquake.location = location;
[location release];
NSLog(@"Location %@",location);
} else if([elementName isEqualToString:@"entry"]) {
[(id)[self delegate] performSelectorOnMainThread:@selector(addEarthquake:)
withObject:self.currentEarthquake
waitUntilDone:NO];
}
2010-12-05 03: 46: 45.738 Terremoto [251: 307] Comp (
«41,9022»,
«12,4579»
)
2010-12-05 03: 46: 45.745 Terremoto [251: 307] Широта (ноль)
2010-12-05 03: 46: 45.847 Terremoto [251: 307] Местоположение <+0,00000000, +0,00000000> +/- 0,00 м (скорость -1,00 м / с / курс -1,00) @ 05.12.10 03: 46:45 GMT-03: 00
2010-12-05 03: 46: 45.854 Terremoto [251: 307] Строка 5.0
2010-12-05 03: 46: 45.864 Terremoto [251: 307] Магнетудин (ноль)
2010-12-05 03: 46: 45.868 Terremoto [251: 307] Place Hotel Ergife
2010-12-05 03: 46: 45.871 Terremoto [251: 307] Текущий язык: it_IT
2010-12-05 03: 46: 45.892 Terremoto [251: 307] Дата 2010-10-14 14:35:18 + 0000
2010-12-05 03: 46: 45.898 Terremoto [251: 307] Comp (
«-6,1020»,
"127.5017"
) * * Тысяча двадцать-один
журнал устройства