2016-09-07 5 views
-6

Я хочу, чтобы текущая дата была предварительно заполнена на панели навигации каждый раз, когда пользователь открывает приложение, без необходимости выбирать его с помощью выбора даты. Подобно тому, как работают приложения для отслеживания еды, такие как Lose It и MyFitness Pal. Но я не могу найти документацию о том, как это сделать. Вот что я пробовал, но он говорит, что я не могу назначить NSDate для ввода String.Добавление самонаполняющейся даты в панель навигации. Заголовок

let currentDate = NSDate() 
let dateFormatter = NSDateFormatter() 

dateFormatter.dateStyle = NSDateFormatterStyle.FullStyle 
    var convertedDate = dateFormatter.stringFromDate(currentDate) 
    dateFormatter.dateFormat = "EEEE, MMMM dd, yyyy" 
    convertedDate = dateFormatter.stringFromDate(currentDate) 

    self.title = NSDate() 
+0

'NSDate()' даст объект даты установки текущей даты и времени. 'NSDateFormatter' используется для получения строковых представлений дат – Paulw11

+0

Вам понадобится что-то вроде' self.title = NSDate() ' – WMios

+1

Возможный дубликат [Как получить текущее время (и час) как дату и время] (http: // stackoverflow.com/questions/24070450/how-to-get-the-current-time-and-hour-as-datetime) – Avt

ответ

0

Вопрос заключается в том, что вам нужно присвоить self.title правильное значение даты.

Линия:

self.title = NSDate() 

является назначение self.title к новому экземпляру NSDate(), в то время как вы хотите, чтобы назначить его на отформатированную дату, что у вас выше, convertedDate, which is also a String`.

Кроме того, NSDate() имеет тип NSDate, а не тип String. Если вы преобразуете его в String, это будет неформатировано.

Так на самом деле, вам нужно строку быть:

self.title = convertedDate 
Смежные вопросы