Я нашел это в Руководстве по программированию Quartz 2D:Могу ли я передать CGContextRef методам, вызываемым из drawRect?
Чтобы нарисовать на экране в приложении IOS, вы создали объект UIView и реализовать его DrawRect: метод для выполнения чертежа. Метод drawRect: view вызывается, когда вид виден на экране, а его содержимое нуждается в обновлении. Прежде чем вызывать свой собственный метод drawRect:, объект вида автоматически настраивает среду рисования, чтобы ваш код мог начать рисовать сразу. В рамках этой конфигурации объект UIView создает контекст графики (непрозрачный тип CGContextRef) для текущей среды рисования. Вы получаете этот графический контекст в своем методе drawRect: вызывая функцию UIKit UIGraphicsGetCurrentContext.
Поскольку у меня возникли проблемы с недопустимым контекстом (потому что это 0х00, когда я возвращаюсь к перерисовать), мне было интересно, если я мог бы получить текущий контекст в начале -drawRect и какой-то образом передать его к методам, которые я вызываю от -drawRect?
Я ответил ниже, но просто хотел проверить: вы не называете 'drawRect' напрямую, не так ли? Он вызывается UIKit только тогда, когда это необходимо. Если вы хотите обновить свое представление, вы должны вместо этого называть 'setNeedsDisplay'. –