Continuiamo a verificarsi un arresto anomalo casuale con NSDateFormatter
. La traccia dello stack rilevante è:NSDateFormatter si arresta in modo anomalo se utilizzato da thread diversi
Program received signal: “EXC_BAD_ACCESS”.
#0 0x00000005 in ??()
#1 0x0213e3c3 in udat_parse()
#2 0x01d4e1ca in CFDateFormatterGetAbsoluteTimeFromString()
#3 0x01d4e225 in CFDateFormatterCreateDateFromString()
#4 0x003e2608 in getObjectValue()
#5 0x003e2921 in -[NSDateFormatter getObjectValue:forString:errorDescription:]()
#6 0x003e21cd in -[NSDateFormatter dateFromString:]()
Il programma di formattazione della data è ancora in memoria (cioè non rilasciato o danneggiato). L'unica cosa che posso pensare è che le stringhe su crash non sono conformi al formato, ma dubito che farà in modo che il formattatore si arresti completamente. (Non è banale controllare in anticipo il formato).
Qualche idea?
grazie mi ha aiutato: D lo stesso problema e si stava verificando solo in modo casuale, grazie mille. –
quindi come lo hai risolto? – user102008
Mi sono assicurato che ogni thread abbia accesso al proprio NSDataFormatter. Se non sei preoccupato per la contesa, probabilmente puoi semplicemente aggiungere '@synchronized (dateFormatter) {...}' attorno al codice che lo usa. – jbenet