Я начинаю разрабатывать для iPhone, и поэтому я смотрю на различные учебники онлайн, а также пробую разные вещи. В настоящее время я пытаюсь создать обратный отсчет до полуночи. Чтобы получить количество часов, минут и секунд, я делаю следующее (которое я нашел где-то):
NSDate* now = [NSDate date];
int hour = 23 - [[now dateWithCalendarFormat:nil timeZone:nil] hourOfDay];
int min = 59 - [[now dateWithCalendarFormat:nil timeZone:nil] minuteOfHour];
int sec = 59 - [[now dateWithCalendarFormat:nil timeZone:nil] secondOfMinute];
countdownLabel.text = [NSString stringWithFormat:@"%02d:%02d:%02d", hour, min,sec];
Однако в каждом месте, где я использую -dateWithCalendarFormat:timeZone:
, я получаю следующую ошибку:
warning: 'NSDate' may not respond to '-dateWithCalendarFormat:timeZone:'
(Messages without a matching method signature will be assumed to return 'id' and accept '...' as arguments.)
warning: no '-hourOfDay' method found
error: invalid operands to binary - (have 'int' and 'id')
Это похоже на нечто очень простое. Что мне не хватает?
Кроме того, я заметил в разных местах и в разное время звездочка (*) находится либо сразу после времени NSDate* now
, либо прямо перед переменной NSDate *now
. В чем разница в двух и почему вы используете один против другого?