Ich habe eine UIScrollView, die eine "Draw View" enthält, die der Benutzer freihändig mit UIBezierPath zeichnen kann. Es verwendet CATiledLayer, damit ich ohne Unschärfe zoomen kann.EXC_BAD_ACCESS beim Streichen von UIBezierPath während der Übersetzung mit CATiledLayer
Wenn ich die Pfade zeichnen, gibt es keinen Fehler EXC_BAD_ACCESS trotz mehrmals aufgerufenen Strich. Wenn ich jedoch einen Pfad mit CGAffineTransForm umsetze, dauert es weniger als ein paar Sekunden, bevor ein EXC_BAD_ACCESS-Fehler ausgelöst wird, wenn der Pfad gestreichelt wird. Es erzeugt auch visuell Artefakte mit dem Pfad.
Ich bin mir sicher, dass dies etwas mit CATiledLayer zu tun hat, das die Übersetzung nicht mag, denn wenn ich CATiledLayer nicht mehr benutze, gibt es überhaupt kein Problem - der Pfad übersetzt sich wie erwartet ohne Artefakte. Ich brauche jedoch den CATiledLayer, um zu zoomen, ohne zu verwischen (soweit ich weiß, gibt es keine andere Möglichkeit, als contentscalefactor auf die Zoomstufe zu setzen).
Die Speicher-/CPU-Auslastung ist nicht anormal, wenn der Fehler ausgelöst wird.
Es ist erwähnenswert, dass ich die iOS 11 und Xcode 9 Betas verwende. (Bearbeiten: geschieht auch auf iOS 10, aber immer noch mit dem gleichen Xcode 9 Beta)
Ich habe versucht, Zombie-Objekte zu aktivieren, aber es liefert keine nützlichen Informationen.
Aber Ihr Code ist geheim? – matt