#iphone
#iPhone
Вопрос:
Я только начинаю разработку для iOS и пытаюсь создать простое приложение, которое вводит время в EST, а затем выводит PST и CST. Я получил настройку контроллера просмотра, но моя функция фактического отображения времени только заставляет мои метки исчезать. Вот код этой функции.
- (IBAction)buttonPress {
NSDateFormatter *date = [[NSDateFormatter alloc] init];
[date setDateFormat:@"hh:mm a"];
[date setDateStyle:NSDateFormatterNoStyle];
[date setTimeStyle:NSDateFormatterShortStyle];
NSDate *estTime = [date dateFromString:self.estText.text];
[date setDateFormat:@"hh:mm a zzz"];
self.pstText.text = [date stringFromDate:estTime];
[date setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"CST"]];
self.cstText.text = [date stringFromDate:estTime];
}
Комментарии:
1. является ли self.estText.text пустым? или какой текст там находится? потому что, если синтаксический анализ с помощью dateFromString завершится неудачей, вся строка будет пустой
2. Нет, это должно быть получение входных данных из текстового поля при нажатии кнопки.
Ответ №1:
Вы пытались посмотреть, можете ли вы жестко закодировать какой-либо текст при нажатии кнопки, т.Е.
self.pstText.text = @"Does this work?";
Вы также могли бы попробовать выйти из своей строки даты
NSLog(@"Date is: %@", [date stringFromDate:estTime]);
Чтобы убедиться, что вы получили что-то еще, кроме пустой строки 😉
Комментарии:
1. Также убедитесь, что свойства label textColor, backgroundColor установлены правильно, чтобы метка не была прозрачной.
2. Ввод текста с жестким кодированием действительно работает, но не похоже, что вывод строки из системы работает.
3. Тогда, я полагаю, ваше форматирование даты возвращает пустую строку 🙂
4. Ну, по-видимому, проблема заключалась в том, как я вводил данные в свое текстовое поле. Это работает с пробелом между временем и am или pm, например, 3:30 вечера, но не с 15:30 вечера.