2014-07-12 6 views
-2
NSDate *today = [NSDate date]; 
NSDate *staticDate = [NSDate dateWithString:@"2014-07-12"]; 

NSComparisonResult result; 

result = [today compare:staticDate]; 

if(result == NSOrderedSame) 
    { 
     self.t1.text = @"hello"; 
    } 

Я пытаюсь сравнить даты с текущей датой, но я имею ошибку с методом dateWithString он говорит: «Нет метод известен класс для dateWithString:»Ошибка при сравнении двух дат

+1

Это было бы потому, что NSDate не имеет метод 'dateWithString'. –

+0

'dateWithString:' работает только на OSX, а не на iOS. – rmaddy

+0

Имейте в виду, что сравнение даты будет выполнено до миллисекунды. Ваши два объекта NSDate никогда не будут одинаковыми. – rmaddy

ответ

0

Ошибка потому что NSDate не имеет метода dateWithString. Я думаю, что вы можете лучше использовать NSDateFormatter экземпляр для этого

От docs:

Экземпляры NSDateFormatter создания строковых представлений NSDate (и NSCalendarDate) объектов, а также конвертировать текстовые представления даты и времени в Объекты NSDate.

Пример:

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
[dateFormatter setDateFormat:@"dd-MM-yyyy"]; 
NSString *strDate = [dateFormatter stringFromDate:[NSDate date]]; 
NSLog(@"%@", strDate); 
+0

это даст мне текущую дату или позволит мне добавить статическую дату для сравнения с текущей датой? – user3724875

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