Я не уверен, откуда берется EXC_BAD_ACCESS
, но компилятор читает [data objectForKey:@"Location"]
как NSCFString, поскольку NSString
является кластером классов вместе с другими типами Foundation, такими как NSNumber и NSArray:
Кластеры классов - это шаблон проектирования, который среда Foundation широко использует.Кластеры классов группируют ряд частных, конкретных подклассов в общем абстрактном суперклассе.Группирование классов таким образом упрощает общедоступную архитектуру объектно-ориентированной среды, не уменьшая ее функциональное богатство.Кластеры классов основаны на шаблоне проектирования Абстрактной Фабрики, обсужденном в «Шаблонах проектирования Какао».
Скорее всего, [data objectForKey:@"Location"]
был выпущен слишком много раз и был освобожден.Это может привести к ошибке EXC_BAD_ACCESS
.Вам следует тщательно проверить управление памятью, чтобы убедиться, что оно не освобождается автоматически (или не освобождается вручную).