Спасибо grtjn за ваш ответ.
-xml_repair_level полностью сработал, и все записи теперь зафиксированы, и нет ошибочных записей.
Специальные символы (с;) сохраняются в ML с реальным символом следующим образом
Я надеюсь, что это должно быть приемлемое содержание с точки зрения бизнеса.
Теперь единственной серьезной проблемой является тестирование искаженных символов в миллионах xml-записей.
Спасибо grtjn за вашу помощь.
Согласно документации , вы делаете это путем создания анимации с очень большим repeatCount
(код взят из документации, на которую я ссылался):
// create the animation that will handle the pulsing.
CABasicAnimation* pulseAnimation = [CABasicAnimation animation];
// over a one second duration, and run an infinite
// number of times
pulseAnimation.duration = 1.0;
pulseAnimation.repeatCount = HUGE_VALF;
// we want it to fade on, and fade off, so it needs to
// automatically autoreverse.. this causes the intensity
// input to go from 0 to 1 to 0
pulseAnimation.autoreverses = YES;
edit : ОП спросил, как остановить анимацию. Из следующего абзаца в документации:
Вы запускаете явную анимацию с помощью отправка сообщения
addAnimation: forKey:
в целевой слой, передавая анимация и идентификатор как параметры. После добавления в цель слой будет работать явная анимация пока анимация не завершится или удаляется из слоя. идентификатор, используемый для добавления анимации в слой также используется, чтобы остановить его вызываяremoveAnimationForKey:
. Вы может остановить все анимации для слоя отправка слоясообщение removeAllAnimations
.