टेबलव्यू स्टाइल सेल एक शब्दकोश में एक मूल्य पर निर्भर है

मैं यह जानने के लिए सख्त कोशिश कर रहा हूं कि मैं एक शब्दकोश में मूल्य पर निर्भर टेबलव्यू स्टाइल सेल सेट करने के बारे में कैसे जा सकता हूं। शब्दकोश एक SQLite पंक्ति है, और मैंने यह निर्धारित करने के लिए एक कॉलम सेट किया है कि कौन से सेल का उपयोग करना है (टाइप कॉलम) यह तब सेलफोरोएटइंडेक्सपैथ को सेल सेल शैली का उपयोग करने के लिए बताएगा। मेरे दिमाग में इस कोड को कोई समस्या नहीं होनी चाहिए, लेकिन मुझे निम्न त्रुटि मिल रही है:

बिना अपवाद के कारण ऐप को समाप्त करना   'एनएसआईएनएनल इन्कॉन्सिस्टेंसी अपवाद', कारण: 'UITableView डेटा स्रोत   तालिका से एक सेल वापस करना होगा दृश्य: cellForRowAtIndexPath: '

कोई भी मदद बहुत अच्छी रहेगी! बहुत धन्यवाद, एंड्रयू

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
dictionary = [tableDataSource objectAtIndex:indexPath.row];

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
    if ([dictionary objectForKey:@"Type"] == @"1") {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:CellIdentifier];
        cell.textLabel.lineBreakMode = UILineBreakModeWordWrap;
        cell.textLabel.numberOfLines = 0;
        cell.textLabel.font = [UIFont fontWithName:@"Helvetica" size:17.0];
        cell.detailTextLabel.lineBreakMode = UILineBreakModeWordWrap;
        cell.detailTextLabel.numberOfLines = 0;
        cell.detailTextLabel.font = [UIFont fontWithName:@"Helvetica" size:17.0];
    }
    else if ([dictionary objectForKey:@"Type"] == @"0") {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
        cell.textLabel.lineBreakMode = UILineBreakModeWordWrap;
        cell.textLabel.numberOfLines = 0;
        cell.textLabel.font = [UIFont fontWithName:@"Helvetica" size:12.0];
    }

}
// Configure the cell...
cell.textLabel.text = [dictionary objectForKey:@"Title"];
cell.detailTextLabel.text = [dictionary objectForKey:@"Right_Info"];
return cell; }
0
जोड़ा संपादित
विचारों: 1

1 उत्तर

दो NSString ऑब्जेक्ट्स की तुलना करने के लिए आपको isEqualToString: विधि का उपयोग करना चाहिए। == ऑपरेटर के साथ आप दो पॉइंटर्स की तुलना कर रहे हैं।

साथ ही, dequeueReusableCellWithIdentifier: पहले ही UITableViewCell का एक उदाहरण देता है, इसलिए आपको एक बार फिर से आवंटित करने की कोशिश नहीं करनी चाहिए।

यदि आप चाहें, तो तालिका पर नज़र डालें प्रोग्रामिंग गाइड देखें । यह चोट नहीं पहुंचाएगा।

0
जोड़ा