У меня есть UIScrollView, который содержит «Draw View», с помощью которого пользователь может рисовать UIBezierPath от руки. Он использует CATiledLayer, поэтому я могу масштабировать без размытия.
Когда я рисую пути, ошибки EXC_BAD_ACCESS нет, несмотря на то, что штрих вызывается много раз. Однако, когда я перевожу путь с помощью CGAffineTransForm, он длится менее нескольких секунд, прежде чем выдает ошибку EXC_BAD_ACCESS при обводке пути. Это также визуально создает артефакты с путем.
Я уверен, что это как-то связано с тем, что CATiledLayer не нравится перевод, потому что, когда я перестаю использовать CATiledLayer, никаких проблем нет - путь переводится, как и ожидалось, без артефактов. Однако мне нужно, чтобы CATiledLayer масштабировался без размытия (насколько я знаю, нет альтернативного решения, кроме как просто установить масштабный коэффициент содержимого на уровень масштабирования).
Использование памяти/ЦП не является ненормальным, когда выдается ошибка.
Стоит отметить, что я использую бета-версии iOS 11 и Xcode 9. (Редактировать: происходит и на iOS 10, но все еще с использованием той же бета-версии Xcode 9)
Я пытался включить объекты-зомби, но это не дает никакой полезной информации.