मेरे आवेदन में मैं UITableview का उपयोग कर रहा हूं। उस प्रतिनिधि विधि में मैंने चयन किया है अगर मैंने कोई ऑपरेशन किया है तो बस ऐसा नहीं हो सकता है।UITableview - tableView: didDeselectRowAtIndexPath: विधि ठीक से काम नहीं कर रही है?
उदाहरण के लिए मैं tableview
में 3 पंक्तियों अगर मैं 1 पंक्ति का चयन करें (indexPath.row == 0) कुछ भी नहीं
होगा अगर फिर से 2 पंक्ति का चयन करेंगे (indexPath.row == 1) अब यह कंसोल इंडेक्स में प्रवेश कर रहा है Path.row == 0 जो पिछले मान है।
यदि फिर से 1 पंक्ति का चयन करें तो इसके पिछले मूल्य indexPath.row = 1 को लॉगिंग करें।
ऐसा क्यों चल रहा है।
- (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath
{
CustomerInfoViewController *customer = [[EquipmentViewController alloc]initWithNibName:@"CustomerInfoViewController" bundle:nil];
EquipmentViewController *equpment = [[EquipmentViewController alloc]initWithNibName:@"EquipmentViewController" bundle:nil];
ContactsViewController *contacts = [[ContactsViewController alloc]initWithNibName:@"ContactsViewController" bundle:nil];
if(indexPath.row == 0)
{
NSLog(@"one %d",indexPath.row);
[detailsView addSubview:customer.view];
}
if(indexPath.row == 1)
{
NSLog(@"two %d",indexPath.row);
[detailsView addSubview:equpment.view];
}
if(indexPath.row == 2)
{
NSLog(@"three%d",indexPath.row);
[detailsView addSubview:contacts.view];
}
}
कृपया कोई मेरी मदद करें।
अग्रिम धन्यवाद।
कुछ वास्तविक कोड दिखाएं? – Vladimir
तर्कसंगत रूप से सही लगता है। हो सकता है कि शुरुआतीकरण को if-statement में खींचें। क्या इसके पास वर्गों के साथ कुछ करने के लिए हो सकता है? हो सकता है कि 'एनएसएलओजी (@ "% d% d", indexPath.row, indexPath.section);' यह देखने के लिए कि फ़ंक्शन को कॉल नहीं किया गया है या आपका कोड बस गलत है। समस्या को बेहतर ढंग से समझने के लिए आपको कुछ विकल्प साफ़ करना होगा। – DAS