अन्य परियोजनाओं पर मैंने एक दृष्टिकोण का उपयोग किया है, एक ProjectStyle.h फ़ाइल बनाने के लिए, जिसमें कस्टम रंगों और अन्य शैली से संबंधित स्थिरांक के लिए # परिभाषाएं हैं। आपको बस इसे आयात करने की आवश्यकता है।
कुछ की तरह:
ProjectStyles.h
#define RED_HEADER_COLOR [UIColor colorWithRed:0.8f green:0.1f blue:0.1f alpha:0.9f]
#define RED_BACKGROUND_COLOR [UIColor colorWithRed:0.9f green:0.3f blue:0.1f alpha:1.0f]
#define PRIMARY_FONT [UIFont fontWithName:@"HelveticaNeue-Bold" size:12.0f]
तुम भी एक इसी .m फ़ाइल अगर आप कुछ UIColor या UIFont वस्तुओं की लगातार उदाहरणों बनाना चाहता था, जैसे
ProjectStyles.m
+ (UIColor *) redHeaderColor
{ return [UIColor colorWithRed:0.8f green:0.1f blue:0.1f alpha:0.9f]; }
+ (UIColor *) redBackgroundColor
{ return [UIColor colorWithRed:0.9f green:0.3f blue:0.1f alpha:1.0f]; }
+ (UIFont *) primaryFont
{
static UIFont *font = nil;
if (font == nil)
font = [UIFont fontWithName:@"HelveticaNeue-Bold" size:12.0f];
return font;
}
कुछ तो निश्चित रूप से हो सकता है और शीर्षलेख में उनको बेनकाब करें
दूसरी चीज़ जो मुझे प्रोजेक्ट स्टाइल प्रकार के दृष्टिकोण के बारे में पसंद है वह यह है कि थोड़ी देर बाद आप जुस की तुलना में अधिक कस्टम चीजें चाहते हैं टी रंग - कस्टम फोंट, कस्टम लाइन और छाया। इन सभी चीजों को रखने के लिए स्टाइल क्लास या हेडर रखने से आपको यह देखने के लिए एक जगह मिलती है कि कौन से कस्टम तत्व पहले से ही सभी प्रकार के चीजों के लिए परिभाषित किए गए हैं, और एक बहुत ही स्पष्ट # बाद के कोडर्स के लिए आयात आपको कस्टम जानकारी के केंद्रीकृत कुएं का पालन करने के लिए ।
यदि आप केवल श्रेणियों में कस्टम तत्व डालते हैं तो आप कई श्रेणियों में फैले अनुकूलन के साथ समाप्त होते हैं, और अन्य तीसरे पक्ष के पुस्तकालयों के साथ श्रेणी नाम टकराव की संभावना (अधिकतर दूरस्थ) भी होते हैं।
स्रोत
2013-02-17 01:38:05
डब्ल्यूडब्ल्यूडीसी 2012 सत्र 216 इसमें कोई दिलचस्पी नहीं है, अगर कोई दिलचस्पी लेता है। – MaxGabriel
कुछ स्टाइलशीट का उपयोग करते हुए समान पैटर्न उचित लगता है, मैं हमेशा इस तरह के कार्य के लिए प्रीप्रोसेसर निर्देशों का उपयोग करने से बचना चाहता हूं - परिभाषित प्रकार सुरक्षित नहीं हैं और इसलिए बदसूरत हैं। एक उचित उपस्थिति विशेषताओं (रंग की तरह) कारखाने का उपयोग क्यों नहीं कर रहे हैं। कुछ '[MyAppearance रंग: @ "ultraBlue"] ' – Till
# परिभाषित प्रकार सुरक्षित है, क्योंकि वे वास्तविक कोड होने के कारण स्थिर विश्लेषक और डीबगर द्वारा जांच किए जाते हैं, वैसे ही कोई अन्य कोड होगा (तो कहीं कहीं एक # डिफाईन का उपयोग करें जिसके परिणामस्वरूप यूआईसीओलर होता है, लेकिन एक CGColor की आवश्यकता होती है आपको तुरंत चेतावनी मिल जाएगी)। संपादक #define कोड को स्वतः पूर्ण करता है, इसलिए MY_COLOR.CGColor स्वत: पूर्णताएं।साथ ही, # पूरी तरह से स्वतः पूर्ण करें - अपने उदाहरण में आपको अभी भी "अल्ट्राब्लू" टाइप करना होगा जो त्रुटि के लिए जगह छोड़ देता है। #define या फैक्ट्री विधियों का उपयोग करके शैलियों को आसानी से त्रुटि को खत्म करने के लिए स्वतः पूर्ण होना चाहिए। –