je l'avais en utilisant ce NSDate Extension pendant un certain temps, mais maintenant il commence juste écraser tout en appelant [NSDate currentCalendar] la méthode dateAtStartOfDay
de fils multimple et certains tiem je reçois un accident avec EXC_BAD_ACCESS et une mémoire adresse.EXC_BAD_ACCESS accès à un membre statique dans la catégorie
Le problème est que lorsque j'accède static NSCalendar *sharedCalendar
de plusieurs threads en même temps je reçois cette erreur.
accès partagé:
+ (NSCalendar *) currentCalendar
{
static NSCalendar *sharedCalendar = nil;
if (!sharedCalendar)
sharedCalendar = [NSCalendar autoupdatingCurrentCalendar];
return sharedCalendar;
}
Comment puis-je résoudre ce problème?
ici est l'erreur:
et lors de l'impression des objets: (parfois le [NSDate currentCalendar] renvoient l'adresse)
'NSCalendar' n'est pas sûr pour les threads. Vous allez devoir ajouter du code pour vous assurer qu'il n'y a pas d'accès simultané au calendrier partagé. – rmaddy
@rmaddy C'est pourquoi la méthode stocke le calendrier dans une variable statique, veuillez consulter la question mise à jour. –
Cela ne change rien au fait que vous appelez des méthodes sur cette instance statique partagée 'NSCalendar' simultanément sur plusieurs threads. 'NSCalendar' ne supporte pas cela. – rmaddy