2015-02-01 2 views
0

Я использую CoreData. Я добавляю дату и некоторые данные. Мне нужно утверждение if. Это будет, если оператор будет работать следующим образом:Swift CoreData: Дата проверки доступна Управление

«если эта дата доступна в базе данных CoreData, пользователь не добавит никаких данных».

Я использовал это:

if newuser.valueForKey(NSDate) as NSDate == NSDate() 

Это абсолютно неверно. Я новичок, и я не создаю этот оператор if. Как я могу это сделать ?

Спасибо!

ответ

0

Для сравнения даты следует использовать isEqualToDate:

if newuser.valueForKey(NSDate).isEqualToDate(NSDate()) 

Но сроки очень точны, поэтому текущая дата будет необходимо соответствовать сохраненную дату, и что никогда не произойдет - по крайней мере, часть секунды пройдет, прежде чем вы сделаете сравнение.

Итак, вам действительно нужно выяснить, какой день, месяц и год дана для сравнения.

В ряде способов было бы лучше сохранить эти значения явно в Core Data вместо использования объекта даты, хотя оба они будут работать. В любом случае вам нужно получить компоненты даты с даты, чтобы узнать день, месяц и год, а затем вам нужно их сравнить (возможно, создание даты только с одним днем, месяцем и годом и без времени, чтобы вы могли сравнить это к сохраненной дате, которая также не должна иметь установленного времени).