पिछली बार मैंने चेक किया, सिस्टम फोंट को कैश किया गया था (यानी [UIFont systemFontOfSize:foo]
पर कॉल करने से आपको दो बार एक ही ऑब्जेक्ट लौटाया गया)। मुझे यकीन नहीं है कि कैश कितनी बार फिसलता है, लेकिन यह कैश फोंट नहीं करने के लिए बहुत मूर्खतापूर्ण प्रतीत होता है, क्योंकि उन्हें निब लोडिंग के दौरान हर समय तत्काल किया जाता है।
बेशक, यदि आप इसे एक ही फ़ंक्शन में दो बार कर रहे हैं, तो यह स्थानीय चर में कैश करने के लिए थोड़ा तेज़ है (और यह कोड आकार को कम करता है, क्योंकि ओबीजे-सी विधि कॉल बहुत बड़ी हैं!)। यदि आप इसे विभिन्न स्थानों पर sporadically कर रहे हैं, तो यह प्रयास के लायक नहीं हो सकता है।
यह कहा गया है कि आप एक क्लास विधि या "सिंगलटन" (जैसे [MyAppBranding titleFont]
या [[MyAppBranding currentBranding] titleFont]
) पर एक विधि के माध्यम से फ़ॉन्ट तक पहुंच सकते हैं। इसका मतलब है कि आप अधिक आसानी से इस्तेमाल किए गए फ़ॉन्ट को बदल सकते हैं, यदि आप देखते हैं कि यह एक प्रदर्शन बाधा है, और इसे अधिक एकाधिक ब्रांडों का समर्थन करने में आसान बनाता है तो आप कैशिंग की एक अतिरिक्त परत जोड़ सकते हैं।
स्रोत
2011-10-04 01:49:34