Ответ 1
Чтобы преобразовать NSString в CLLocationDegrees (который равен double
):
return [theString doubleValue];
Одна маленькая проблема преобразования, которая сводит меня с ума.
У меня есть строка (например, "35.453454" ), которая представляет широту. Я хочу использовать его как широту для CLLocation.
Как преобразовать строку в соответствующий формат CLLocation (в градусах)?
Огромное спасибо, это сводит меня с ума! Томас
Чтобы преобразовать NSString в CLLocationDegrees (который равен double
):
return [theString doubleValue];
Предположим, что вы сохранили строку "35.453454"
как
В Objective C
NSString *latitudeString = @"35.453454";
В Swift 2.2
let latituteString : String = "35.453454"
И вы хотите преобразовать эту NSString в соответствующую CLLocation.
Но CLLocation имеет две широты и долготу параметров соответственно.
Если у вас нет долготы, соответствующей вашей заданной широте "35.453454", невозможно сохранить только вашу широту в CLLocation.
CASE 1: Предположим, что у вас нет соответствующей долготы. Затем вы можете сохранить свою единственную широту в CLLocationDegrees, чтобы в дальнейшем использовать ее при инициализации объекта CLLocation.
В Objective-C:
CLLocationDegress myLatitude = [latitudeString doubleValue];
В Swift 2.2
let myLatitute : CLLocationDegress = Double(latitudeString)
CASE 2: Предположим, что у вас есть соответствующая долгота. Затем вы можете сохранить свою широту и долготу в CLLocationDegrees, чтобы использовать ее при инициализации объекта CLLocation.
Пусть ваша долгота 18.9201344
то
В Objective-C
NSString *longitudeString = @"18.9201344";
//creating latitude and longitude for location
CLLocationDegrees latitudeDegrees = [latitudeString doubleValue];
CLLocationDegrees longitudeDegrees = [longitudeString doubleValue];
//initializing location with respective latitude and longitude
CLLocation *myLocation = [[CLLocation alloc]initWithLatitude:latitudeDegrees longitude:longitudeDegrees];
В Swift 2.2
let longitudeString : String = "18.9201344"
let latitudeDegrees : CLLocationDegrees = Double(latitudeString)
let longitudeDegrees : CLLocationDegress = Double(longitudeString)
let location : CLLocation = CLLocation.init(latitude: latitudeDegrees, longitude: longitudeDegrees)