2011-10-30 10 views
9

आईओएस 5 में, टेबलबोर्ड के लिए एआरसी और प्रोटोटाइप कोशिकाओं का उपयोग स्टोरीबोर्ड पर देखें, क्या मैं नीचे दिए गए कोड को प्रतिस्थापित कर सकता हूं:dequeueReusableCellWithIdentifier व्यवहार प्रोटोटाइप कोशिकाओं के लिए बदल दिया?

static NSString *CellIdentifier = @"Cell"; 

UITableViewCell *cell = [tableView 
    dequeueReusableCellWithIdentifier:CellIdentifier]; 
if (cell == nil) { 
    cell = [[UITableViewCell alloc] 
     initWithStyle:UITableViewCellStyleDefault 
     reuseIdentifier:CellIdentifier]; 
} 

// Configure the cell... 
return cell; 

इस सरल कोड के साथ ??:

UITableViewCell *cell = [tableView 
    dequeueReusableCellWithIdentifier:@"Cell"]; 
return cell; 

मैंने इसे इस लिंक पर देखा:

http://www.raywenderlich.com/5138/beginning-storyboards-in-ios-5-part-1

अग्रिम धन्यवाद!

Arildo

उत्तर

8

ठीक है, आपके कोड सही, स्टोरीबोर्ड automaticaly नई कोशिकाओं alloc कर रहे हैं, इस कोड को महान काम:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    RoadbookCell *cell = (RoadbookCell *)[tableView dequeueReusableCellWithIdentifier:@"RoadbookCell"]; 

    //Configure cell 
    //[cell.lab1 setText:@"Test"]; 

    return cell; 
} 
+1

मैं नहीं मिलता है क्यों, लेकिन यह बात मेरे लिए काम नहीं करती है। मैं एक "शून्य" सेल प्राप्त करता रहता हूं। मैं एक नई मास्टर-विस्तार परियोजना तैयार करता हूं। उदाहरण महान काम करता है। जब मैं cellForRowIndexPath विधि और तालिका आकार विधि जोड़ता हूं और आकार को 2 होने के लिए सेट करता हूं, तो मुझे अपवाद मिलता है, क्योंकि dequeueReusableCellWithIdentifier मुझे "शून्य" प्राप्त करते रहते हैं। – bashan

+1

क्या आपने स्टोरीबोर्ड में टेबलसेल कॉन्फ़िगर किया है? इस तरह: [लिंक] http://minus.com/m59pfEOqW (नोट: सेल पहचानकर्ता स्टोरीबोर्ड में और सेलफॉररोएट इंडेक्सपैथ में समान है) – Kappe

+2

और याद रखें कि आपको "awakeFromNib" विधि में सेल सबक्लास में कोई सेटअप सामग्री करना चाहिए, "initWithStyle:" (इसे कॉल नहीं किया जाता है) क्योंकि यह स्टोरीबोर्ड से लोड होता है। – avocade

3

इस तरह एप्पल का इरादा रखता है यह प्रयोग की जाने वाली है, लेकिन मैं इसके खिलाफ सलाह देते । एक बग है जो डिवाइस पर VoiceAssist सक्षम होने पर शून्य को वापस करने के लिए dequeueReusableCellWithIdentifier का कारण बनता है। इसका मतलब है कि इस ऐप के साथ उपयोगकर्ताओं के लिए आपका ऐप क्रैश हो जाएगा। यह अभी भी आईओएस के रूप में एक समस्या है 5.1.1

आप अधिक जानकारी और यहाँ एक समाधान पा सकते हैं:

http://hsoienterprises.com/2012/02/05/uitableview-dequeuereusablecellwithidentifier-storyboard-and-voiceover-doesnt-work/

अंतिम अनुच्छेद वैकल्पिक हल है

संबंधित मुद्दे