Пожалуйста, опубликуйте весь блок кода, чтобы мы могли выяснить, что происходит:)
Я предполагаю, что это происходит из-за autorelease
в вашем блоке метода и последующем присвоении его исходной переменной. Если вы создаете новую строку со статической stringWithFormat
или autorelease
этой строкой, независимо от того, что вы с ней делаете, счетчик ссылок будет уменьшен при выходе из блока кода. Это означает, что если вы присваиваете ее исходной строке, ваша исходная строка будет освобождена во второй раз, что приведет к вашей EXE_BAD_ACCESS.
Решением в этом случае было бы либо изменить существующий NSMutableString, либо сохранить строку и освободить ее позже, когда это будет безопасно. Например, использование replaceCharactersInRange:withString:
может решить проблему.