सवाल सरल है: कैसे आप कस्टम लोड करते UITableViewCellXIB फ़ाइलों से? ऐसा करने से आप इंटरफ़ेस बिल्डर का उपयोग कर अपनी कोशिकाओं डिजाइन करने के लिए अनुमति देता है। जवाब जाहिरा तौर पर स्मृति प्रबंधन के मुद्दों के कारण सरल नहीं है। यह धागा मुद्दे का उल्लेख है और एक समाधान चलता है, लेकिन है पूर्व एनडीए रिलीज और कोड का अभाव है। यहाँ एक है लंबे धागे कि एक निश्चित जवाब दिए बिना इस मुद्दे पर चर्चा करता है।
यहाँ कुछ कोड मैं का उपयोग किया है है:
static NSString *CellIdentifier = @MyCellIdentifier;
MyCell *cell = (MyCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:CellIdentifier owner:self options:nil];
cell = (MyCell *)[nib objectAtIndex:0];
}
इस कोड का उपयोग करने के लिए, MyCell.m / ज, की एक नई उपवर्ग बनाने UITableViewCellऔर जोड़ने के IBOutletsघटकों आप चाहते हैं के लिए। फिर एक नया खाली XIB फ़ाइल बनाएँ। आईबी में XIB फ़ाइल खोलें, एक जोड़ने UITableViewCellवस्तु, MyCellIdentifier करने के लिए इसके पहचानकर्ता निर्धारित करते हैं, और MyCell को अपने वर्ग स्थापित करने और अपने घटक जोड़ने। अंत में, कनेक्ट IBOutletsघटकों के लिए। ध्यान दें कि हम आईबी में फ़ाइल के मालिक सेट नहीं किया है।
अन्य तरीकों फ़ाइल के मालिक की स्थापना की वकालत और स्मृति लीक की चेतावनी दी है यदि xib एक अतिरिक्त कारखाने वर्ग के माध्यम से लोड नहीं है। मैं के तहत उपकरण / लीक से ऊपर परीक्षण किया है और कोई स्मृति लीक देखा।
तो Xibs से कोशिकाओं को लोड करने के लिए विहित तरीका क्या है? हम फ़ाइल के मालिक सेट करते हैं? हम एक कारखाने की ज़रूरत है? यदि हां, तो क्या कारखाने के लिए कोड की तरह लग रही है? यदि अनेक समाधान कर रहे हैं, के पेशेवरों और उनमें से प्रत्येक के विपक्ष को स्पष्ट करते हैं ...














