Несовместимый тип указателя при сравнении NSDate

Следующий код:

NSDate* date1 = [NSDate date];
NSDate* date2 = [NSDate date];
[date1 compare:date2];
[(NSDate*)[NSDate date] compare:date2];
[[NSDate date] compare:date2];

дает мне «Несовместимые типы указателей, отправляющие« NSDate * »в параметр типа« NSNumber * »» для последнего сравнения дат, но не для первых двух!

Что здесь происходит???


person Lolo    schedule 06.01.2013    source источник


Ответы (1)


Вам нужно привести к NSDate, потому что + (id)date возвращает идентификатор, а не NSDate.

person Gereon    schedule 06.01.2013
comment
Ага. Я пришел к такому же выводу, когда понял, что [(NSDate*)[NSDate date] compare:date2]; работал. Имеет смысл. - person Lolo; 06.01.2013