Цель-C: Запустить запуск из целочисленной переменной? - PullRequest
1 голос
/ 04 октября 2011

Я хочу использовать «Firedate» для локальных уведомлений.Как я могу использовать целочисленную переменную, содержащую секунды, чтобы вызвать срабатывание?

int intTime;
intTime=([mAhLabel.text floatValue]/chargerSlider.value)*1.5*3600;
notif.fireDate = (intTime);

Я знаю, что приведенный выше код неверен, просто дайте мне подсказку, ребята!Заранее спасибо.

ps Когда я пытаюсь использовать этот код, я получаю "несовместимое преобразование целых чисел в указатель, присваивающее NSDate * из int".

Ответы [ 2 ]

3 голосов
/ 04 октября 2011

fireDate должно быть NSDate*, так как вы знаете, что ваше решение неверно.Если ваши расчеты приводят к секундам, которые вы хотите получить из текущего времени, будет работать следующий код:

NSTimeInterval time = ([mAhLabel.text floatValue]/chargerSlider.value)*1.5*3600;
notif.fireDate = [NSDate dateWithTimeIntervalSinceNow:time];

Также убедитесь, что деление на 0 невозможно, используя chargerSlider.value, установивминимальное значение или проверка значения перед делением.В противном случае результат будет NaN.

1 голос
/ 04 октября 2011

Свойство fireDate в UILocalNotification имеет тип NSDate.Сначала вам нужно будет создать NSDate с целым числом как количеством времени в будущем, которое вам нужно.Например, если бы мы искали дату пожара через час, она бы выглядела следующим образом.

notif.fireDate = [NSDate dateWithTimeIntervalSinceNow:3600];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...