Это может быть проще с точки зрения программиста, но отчасти это связано с производительностью. При выполнении графически насыщенного кода и важности времени рендеринга (что почти всегда), последнее, что вы хотите сделать, - это выделить много временных объектов. Это компромисс - производительность для удобочитаемости / удобства обслуживания.
Как отметил Мартин Уллрих, есть некоторые обёртки Objective-C для некоторых вещей Core Graphics, но действительно намного лучше знать, что происходит "под капотом", прежде чем использовать вещи Objective-C (которые будут проще, но чуть медленнее).
Кстати, эта медлительность, о которой я говорю, на самом деле является проблемой только тогда, когда вы много рисуете и хотите (или должны) поддерживать FPS / отзывчивость очень хорошими. Например, если вы рисуете сотни фигур и линий, вам нужно использовать CG напрямую. Если вы просто рисуете несколько фигур / изображений / текста, использование оберток Obj-C даст лишь незначительный удар по производительности.