अनुभाग शीर्षलेख टाइटल सेट करते समय, मुझे एक खाली एनएसएसटींग का उपयोग करने में बेहतर सफलता मिलती है जो संबंधित खंड पर सेट हो जाती है, और उसके बाद पूरा होने पर उस स्ट्रिंग को रिलीज़ करती है; साथ ही मेरे उपयोग को सीमित करने के लिए नेस्टेड अगर() अन्य() statments।
मैं इसे सरल और साफ रखने की कोशिश करता हूं। बेशक उन टेबलों के लिए जहां मेरे पास 3 से अधिक अनुभाग हैं, मैं if() कथन के स्थान पर "स्विच" कथन का उपयोग करता हूं।
इस फ़ंक्शन के बारे में बड़ी बात यह है कि इसे आपके पास कई बार (अनुभागों की संख्या) कहा जाता है और प्रत्येक बार कोड के माध्यम से चलाया जाएगा। NSString *sectionHeader=nil;
कंपाइलर को आपके मान() कथनों में एम्बेड किए गए किसी भी चीज़ के बावजूद वापस करने का मूल्य देता है। अन्यथा, आपको चेतावनियां मिलती हैं क्योंकि संकलक आपके वापसी मूल्य के लिए if() कथन में नहीं खोजता है।
आप स्ट्रिंग को "डिफ़ॉल्ट" मान में भी प्रारंभ कर सकते हैं, उदा। NSString *sectionHeader = @"Default Header Title";
। यदि if() कथनों में से कोई भी संतुष्ट नहीं है, तो आवंटित डिफ़ॉल्ट शीर्षलेख मान पूरे कार्य में समान रहेगा और इस प्रकार शीर्षक के लिए अनुभाग हैडर के रूप में वापस आ जाएगा।
बेसिक नीचे संरचना:
-(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
//TEMP SECTION STRING HOLDER:
NSString *sectionHeader = nil;
//SET TITLE FOR EACH SECTION:
if(section == 0) {
sectionHeader = @"Section Header No. 1";
}
if(section == 1) {
sectionHeader = @"Section Header No. 2";
}
if(section == 2) {
sectionHeader = @"Section Header No. 3";
}
//RETURN THE SECTION HEADER FOR EACH SECTION:
return sectionHeader;
}