Дополнительно
Разницу между 2 датами в секундах для iOS
У меня есть приложение, где контент отображается для пользователя. Теперь я хочу выяснить, сколько секунд пользователь фактически просматривает контент для. Так что в моем заголовочный файл, я'вэ объявлен
NSDate *startTime;
NSDate *endTime;
Потом в моей viewWillAppear
startTime = [NSDate date];
Потом в моей viewWillDisappear
endTime = [NSDate date];
NSTimeInterval secs = [endTime timeIntervalSinceDate:startTime];
NSLog(@"Seconds --------> %f", secs);
Однако, приложение падает с различными ошибками иногда. Иногда это'ы утечка памяти, иногда это'ов проблемы с NSTimeInterval, и иногда она падает после вернуться к содержанию во второй раз.
Любые идеи о том, чтобы это исправить?
47
2
поскольку вы не используете дуги, когда ты пишешь
свойство StartTime = [NSDate дата];
вы не сохраняете
начала
, поэтому он освобождается раньше-viewWillDisappear` называется. Попробоватьсвойство StartTime = [[NSDate дата] сохранить];
Также, я рекомендую использовать дуги. Там должно быть гораздо меньше ошибок с управлением памятью с ним, чем без него
Вы должны объявить свойство сохранять к дате начала. Ваша дата становится выпущен до вы можете рассчитать разницу во времени.
Так объявить
Дон'т забудьте очистки.