Я не могу прожить другой день, не зная, почему это происходит. У меня есть приложение iPhone, используя CoreLocation и вот вопрос:IPhone Float to String issue
GPSLocation.m - посылает длинный/Lat координаты, которые являются поплавки к классу UserSettings.m (который одноэлементно класс)
_
UserSettings.m - Тогда отливать значения в предварительно определенные строки из поплавок
например. strLongitude = [NSString stringWithFormat: @ "% f", paramLong];
Я могу проследить строку только штрафом NSLog (@ "Строка долготы% @", strLongitude);
Некоторые заметки о strLongitude
- находится в файле заголовка
- свойство определяется как (неатомической, сохранить)
- синтезируется
Теперь проблема: Когда мне нужна эта переменная в другом классе, я могу использовать один из двух способов ее получения. Либо с помощью getter [UserSettings getLongitude], либо доступа к свойству [UserSettings strLongitude]
Затем, когда я прослеживаю эту строку, иногда я получаю ошибку badaccess или случайный мусор. Если я прослежу строку как float% F, она работает нормально.
Почему это происходит? Строка по умолчанию возвращается к исходному типу данных переменной.
Любая помощь будет оценена по достоинству.
это! @property (nonatomic, keep) NSString * strLongitude; –
Но вам нужно использовать self: self.strLongitude = [NSString stringWithFormat: @ "% f", paramLong]; для вызова сеттера (который сохраняет его). Просто для ударов, попробуйте: strLongitude = ...; [strLongitude keep]; и посмотреть, есть ли разница. – Jeff
BINGO! Я не вызывал сеттера. self.strLongitude работал отлично. Спасибо чувак! –