我只是試圖將CLLocationCoordinates
轉換爲NSValue
,以便在稍後在我的應用中返回的數組中使用。這是我的代碼:將CLLocationCoordinates2D轉換爲NSValue
NSUInteger count = [self.locations count];
CLLocationCoordinate2D coordinates[count];
for (NSInteger i = 0; i < count; i++) {
coordinates[i] = [(CLLocation *)self.locations[i] coordinate];
NSValue *locationValue = [NSValue valueWithMKCoordinate:coordinates[i]];
[_locationsArray addObject:locationValue];
NSLog(@"location = %@", _locationsArray);
}
然而NSLog
顯示該陣列填充(空)值。我不確定我在這裏出了什麼問題,有人指着我正確的方向?
檢查計數不爲0 – Shmidt
當你使用NSValue *值轉換CLLocationCoordinate2D至NSValue = [NSValue valueWithMKCoordinate:座標]。 它迫使你把*** MapKit.framework ***包含到你的項目中,如果你想避免它,請使用[Andrey Chernukha]提出的解決方案(http://stackoverflow.com/users/994107/andrey-chernukha )NSValue * value = [NSValue valueWithBytes:&coordinates objCType:@encode(CLLocationCoordinate2D)]; – TomekF