Как мне преобразовать NSMutableString в удвоение для хранения в Core Data? - PullRequest
3 голосов
/ 24 февраля 2010

моему приложению необходимо хранить значения широты и долготы, проанализированные из XML, в базовые данные. В настоящее время у меня есть базовая модель данных, которая имеет эти атрибуты типа double. В файле заголовка объекта модели они определены как NSNumber

Как я могу преобразовать строку, хранящуюся в моей переменной CurrentNodeText, в требуемый тип для хранения в Core Data? Кроме того, это подходящий способ хранения координатных данных в Базовых данных?

1 Ответ

5 голосов
/ 24 февраля 2010

NSString имеет метод doubleValue, который проверяет строку, чтобы увидеть, выглядит ли она как double, и возвращает это значение, если так (или 0,0, если нет).

Что касается того, является ли это подходящим способом хранения координатных данных: это зависит. Двоичные числа с плавающей точкой не могут точно представлять все числа, которые могут иметь десятичные числа. В этих случаях они будут хранить что-то мучительно близкое, но которое может испортить вычисления, требующие точности - например, сравнение поплавков на равенство и проверка, меньше ли одно поплавок, чем другое, не даст точных результатов. Если точное число важно, вы можете оставить его в NSDecimalNumber, NSDecimal или NSString.

...