Wie ich die JSON-Daten lösche .Wenn ich die JSON-Daten lösche, muss ich diese bestimmten Daten in der Tabellenansicht entfernen. Auch wenn ich versuche, die Daten in der ersten Zeile zu entfernen, löst es die Ausnahme wie "Beenden der App aufgrund der nicht abgefangenen Ausnahme 'NSInternalInconsistencyException', Grund: 'versuchen, Zeile 1 aus Abschnitt 0 zu löschen, die nur 1 Zeilen vor dem Update enthält'" app crashedTabellennicht neu laden Daten funktionieren nicht in uitableview
kann mir jemand vorschlagen, was war das Problem in der folgenden Codierung?
- (IBAction)deletebutton:(id)sender {
NSString *userid = [[NSUserDefaults standardUserDefaults]
stringForKey:@"UserId"];
NSString *encodeddistrictvalue = [selecteddistrictvalue stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet alphanumericCharacterSet]];
NSString *encodedPanchaytvalue = [selectedpanchayatvalue stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet alphanumericCharacterSet]];
NSString *urlStr = [NSString stringWithFormat:@"my json url",encodeddistrictvalue,encodedPanchaytvalue,taxtypevariable,selctedassessmentno,userid];NSURL *url = [NSURL URLWithString:urlStr];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[NSURLConnection sendAsynchronousRequest:request
queue:[NSOperationQueue mainQueue]
completionHandler:^(NSURLResponse *response,
NSData *data, NSError *connectionError)
{
if (data.length > 0 && connectionError == nil)
{
NSDictionary *dictionaryvalue = [NSJSONSerialization JSONObjectWithData:data
options:0
error:NULL];
NSString *code = [[dictionaryvalue objectForKey:@"code"] stringValue];
NSLog(@"the response string value is %@",code);
if ([code intValue]==1) {
NSLog(@"deletd sucessfully");
UIAlertController * alert = [UIAlertController
alertControllerWithTitle:@"Alert"
message:@"Are u sure u want to delete the table data"
preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction* yesButton = [UIAlertAction
actionWithTitle:@"yes"
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
{
[assessmentnumber removeObject:selctedassessmentno ];
[self.tableview registerClass:[UITableViewCell class] forCellReuseIdentifier:@"expandingCell"];
[_tableview reloadData];
}
}];
[alert addAction:yesButton];
[self presentViewController:alert animated:YES completion:nil];
alert.view.tintColor = [UIColor blackColor];
}
}
} ];
}
Zu viel Code zur Verfügung gestellt. Bitte bearbeiten Sie Ihre Frage auf einen verständlichen Betrag. – brimstone
sry für Unannehmlichkeiten sir .i bearbeitet meine Frage pls überprüfen Sie es – user19
Laden Sie nicht die gesamte Tabellenansicht neu. Verwende 'deleteRowsAtIndexPaths'. Und wenn Sie Storyboard- und Prototypzellen verwenden, müssen Sie überhaupt keine Zellen registrieren. – vadian