我在做一些愚蠢的事情,但不知道是什麼。這裏是我的代碼:從座標插入CLLocation緯度到NSMutable陣列
NSMutableArray *latitudes = [[NSMutableArray alloc] init];
NSMutableArray *locationArray = [NSMutableArray array];
for (CLLocation *location in self.allPins) {
Location *locationObject = [NSEntityDescription insertNewObjectForEntityForName:@"Location"
inManagedObjectContext:self.managedObjectContext];
locationObject.timestamp = location.timestamp;
locationObject.latitude = [NSNumber numberWithDouble:location.coordinate.latitude];
locationObject.longitude = [NSNumber numberWithDouble:location.coordinate.longitude];
[locationArray addObject:locationObject];
[latitudes addObject:[NSNumber numberWithFloat: location.coordinate.latitude]];
NSLog(@"here is the array for latitudes count: %d", latitudes.count);
NSLog(@"here is the value for first latitude: %d", latitudes[0]);
}
self.allPins
持有CLLocationManager
收到的所有位置。一旦用戶完成移動並想要保存,我運行上面的代碼片段,將軌跡加載到CoreData類中,以保存在用戶的手機上,並保存到陣列中以在線上傳數據。我想擁有一系列緯度經度等,但這並不奏效。雖然我可以將信息插入到我的CoreData對象中,但我似乎無法簡單地從CLLocation座標中提取雙/浮動(嘗試兩種方式,但我認爲它應該沒有什麼區別?)。當我運行下面的代碼,我得到了緯度陣列計數,但我得到廢話值:
2015-05-26 15:25:22.934 MileRun[665:196255] here is the value for first latitude: 426649664
感謝您的建議,但不會編譯(我只是試過)。首先緯度數組中的對象沒有floatValue屬性。 – sunny
每個NSNumber都有一個'floatValue'屬性(這就是你在'latitudes'中存儲的內容)。查看我編輯的另一種方式,在NSLog中使用'%@'轉義字符打印值。 – timgcarlson
術語上的小問題。 '%@'是格式說明符,不是轉義字符。反斜槓是在字符串文字中使用時的轉義字符的示例。 – rmaddy