La última vez que verifiqué, las fuentes del sistema se almacenaron en caché (es decir, llamar al [UIFont systemFontOfSize:foo]
dos veces le devolvió el mismo objeto). No estoy seguro de con qué frecuencia se vacía el caché, pero me parece muy tonto no almacenar en caché las fuentes, ya que se crean instancias todo el tiempo durante la carga de la punta.
Por supuesto, si lo hace dos veces en la misma función, es un poco más rápido almacenarlo en una variable local (y reduce el tamaño del código, ¡ya que las llamadas al método Obj-C son enormes!). Si lo haces esporádicamente en diferentes lugares, puede que no valga la pena el esfuerzo.
Dicho esto, es posible que desee acceder a la fuente a través de un método de clase o un método en un "singleton" (por ejemplo, [MyAppBranding titleFont]
o [[MyAppBranding currentBranding] titleFont]
). Esto significa que puede cambiar la fuente utilizada mucho más fácilmente, le permite agregar una capa adicional de almacenamiento en caché si nota que se trata de un cuello de botella de rendimiento y hace que mucho sea más fácil de admitir varias marcas.