2016-05-18 5 views
0

У меня есть приложение, которое отображает табличное представление раз в день (океанские приливы). То, что я хочу сделать, - это использовать время и запланировать локальное уведомление, которое будет срабатывать в то время.Преобразование даты форматирования в NSDate

Если я распечатаю дату, когда я нажимаю на ячейку, я получаю «5/18/2016 03:31 AM». Однако, если я передам это как объект fireDate, тогда fireDate уведомления будет «nil»

Если я просто создаю объект NSDate, чтобы запустить 15 секунд после нажатия на ячейку, тогда fireDate будет: «Среда, 18 мая 2016 в 14:14:11 «

Итак, я думаю, что реальный вопрос: как я могу конвертировать« 18.05.2006 03:31 »в среду, 18 мая 2016 года в 3: 31:00 AM "?

Спасибо!

+3

Вы не должны извлекать строку даты из ячейки. Вы должны вернуться к своей модели. Вопрос в том, как ваш 'cellForRowAtIndexPath' извлекал/создавал строку, которая должна была помещаться в ячейку в первую очередь. Ваш 'didSelectRowAtIndexPath' должен возвращаться к тому же самому источнику. И ответ о том, как отформатировать его, как вы просили, зависит от того, как данные были сохранены в вашей модели. Если модель имеет «NSDate», это предполагает один подход. Если это была строка, это предполагает другой подход (и задает вопрос о том, в какой временной зоне была исходная строка). – Rob

+1

Вы не можете передать «5/18/2016 03:31 AM» как свойство fireDate, потому что первая является «String», а вторая - «NSDate». Пожалуйста, покажите, что вы на самом деле делаете. –

ответ

1

Для форматирования даты на нужный вывод необходимо использовать NSDateFormatter. Вот как вы можете сделать это

let formatter = NSDateFormatter() 
formatter.dateStyle = NSDateFormatterStyle.FullStyle 
let dateToFire = formatter.dateFromString(datefromcell) //datefromcell is a string that contains the date you got from tapping the tableview cell 

Для получения дополнительной информации о том, как форматировать даты, посмотреть link

Надеются, что это помогает. :)

+0

Спасибо! Мне не хватало полного стиля и еще одной команды в этой ссылке. – user3565259

+0

Счастливые помочь. :) – bhakti123

Смежные вопросы