я с помощью этого NSDate Extension в течение времени, но теперь это просто начать сбой при вызове [NSDate currentCalendar] dateAtStartOfDay
метода из multimple нитей и некоторое tiem я получаю аварию с EXC_BAD_ACCESS и памятью адрес.EXC_BAD_ACCESS доступ к статическому члену в категории
Проблема в том, что когда я получаю то, что static NSCalendar *sharedCalendar
из нескольких потоков одновременно, я получаю эту ошибку.
Общий доступ:
+ (NSCalendar *) currentCalendar
{
static NSCalendar *sharedCalendar = nil;
if (!sharedCalendar)
sharedCalendar = [NSCalendar autoupdatingCurrentCalendar];
return sharedCalendar;
}
Как я могу это исправить?
здесь ошибка:
и при печати объектов: (иногда [NSDate currentCalendar] возвращает адрес)
'NSCalendar' не является потокобезопасным. Вам нужно будет добавить код, чтобы обеспечить одновременный доступ к общему календарю. – rmaddy
@rmaddy вот почему метод хранит календарь в статической переменной, пожалуйста, просмотрите обновленный вопрос. –
Это не меняет того факта, что вы вызываете методы на этом общем статическом экземпляре 'NSCalendar' одновременно на нескольких потоках. 'NSCalendar' не поддерживает это. – rmaddy