के रूप में हमेशा 0 देता है मेरे पास कस्टम कक्षों के साथ एक UITableView है। यह कस्टम सेल "सामान्य बाएं" शैली के साथ एक सामान्य सेल की तरह दिखता है। लेकिन उपयोगकर्ता को पाठ को संपादित करने की अनुमति देने के लिए, मेरे कस्टम सेल में एक विस्तार लेबल और एक टेक्स्ट फ़ील्ड है। मेरे पास एक सेव बटन है जहां मैं उपयोगकर्ता द्वारा दर्ज किए गए सभी डेटा को सहेजना चाहता हूं। मैंने इस ट्यूटोरियल का उपयोग कर कस्टम सेल बनाया: http://agilewarrior.wordpress.com/2012/05/19/how-to-add-a-custom-uitableviewcell-to-a-xib-file-objective-c/#comment-4883UITableView की अनुक्रमणिकाPathForCell: indexPath.row
उपयोगकर्ता डेटा प्राप्त करने के लिए मैंने टेबल फ़ील्ड के प्रतिनिधि को टेबल व्यू कंट्रोलर (स्वयं) पर सेट किया और टेक्स्ट फ़ील्डडिड एंडडिटिंग: विधि लागू की। इस विधि में मैं टेक्स्ट फ़ील्ड के मूल दृश्य (= सेल) के लिए पूछता हूं और इस सेल के इंडेक्सपाथ के लिए पूछता हूं। समस्या यह है कि, मैं हमेशा indexPath.row के लिए 0 प्राप्त करता हूं, इससे कोई फर्क नहीं पड़ता कि मैं कौन सा सेल संपादित करता हूं। मैं क्या गलत कर रहा हूं?
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
CustomCell *cell = (CustomCell *)[tableView dequeueReusableCellWithIdentifier:[CustomCell reuseIdentifier] forIndexPath:indexPath];
if (cell == nil) {
[[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:self options:nil];
cell = self.customCell;
self.customCell = nil;
}
cell.label.text = @"Some label text";
cell.editField.delegate = self;
cell.accessoryType = UITableViewCellAccessoryNone;
return cell;
}
- (void)textFieldDidEndEditing:(UITextField *)textField
{
CustomCell *cell = (CustomCell *) textField.superview;
NSIndexPath *indexPath = [self.tableView indexPathForCell:cell];
NSLog(@"the section is %d and row is %d", indexPath.section, indexPath.row);
...
}
संपादित करें:
यहाँ मेरी कोड है मैं सिर्फ पता चला, कि लौट आए indexPath नहीं के बराबर है। तो अगर यह शून्य है तो मुझे मानक मान 0 मिलते हैं, ठीक है। लेकिन अब: इंडेक्सपैथ के लिए मुझे शून्य क्यों मिलती है?
यह एक समान धागा है जिसका कारण यह है कि http://stackoverflow.com/questions/6930026/tableviewindexpathforcell-returns-nil –