Does drawRect: ¿verifica automáticamente si hay algo dentro de los límites de CGRect que se pasa a él?

Me pregunto si necesito verificar si algo está dentro de los límites de CGRect pasado a drawRect: o si drawRect: automáticamente lo maneja para mí.

Por ejemplo, supongamos que tengo 10 UIBezierPaths en la pantalla. Cada curva está en una NSMutableArray llamada curves . Cada vez que se llama drawRect: se enlaza a través de este set y dibuja las curvas que encuentra allí. Si el uso mueve una curva, encuentro que contiene CGRect y call [self setNeedsDisplayInRect:containingRect] . En mi drawRect: implementación, ¿tengo que verificar personalmente si cada uno de los UIBezierPaths cae dentro del CGRect pasado a drawRect: (usando CGRectIntersectsRect ), o es el que se maneja automáticamente?

Esto cae en una class de optimizaciones que deberás hacer tú mismo si crees que es necesario después del perfil.

UIKit no es tan inteligente por desgracia. ¡Aunque probablemente fuera demasiado lento si lo fuera!