Как да изтрия json обект от сървъра? [затворено]

Пиша код, който получава рецепти под формата на JSON от сървър и го представя в UItable.

NSURL *url = [NSURL URLWithString:@"http://domain.com/recipes"];
    [config setHTTPAdditionalHeaders:@{@"Authorization":@" Token token=\"3f71235466468b7f7\""}];

    NSURLSession *session = [NSURLSession sessionWithConfiguration:config delegate:nil delegateQueue:[NSOperationQueue mainQueue]];

    [[session dataTaskWithURL:url completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
        recipes= [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];
       [self.tableView reloadData];

    }
      ] resume];

Този сървър е написан на Ruby. Сега искам да напиша молба за изтриване на рецепта. Ето това е инструкцията на моя сървър. Каза, че трябва да използвам следния curl, за да изтрия рецепти:

Изтриване на рецепти DELETE: /recipes/:id В Curl би било нещо подобно:

curl -H 'Authorization: Token token="0b774d575632b"' -X DELETE http://domain.com/recipes/22 

Бих искал да внедря метода за изтриване. Всъщност знаех, че трябва да внедря следния метод.

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
//how to delete it from server??????  
// Remove the row from data model
[recipes removeObjectAtIndex:indexPath.row];

// Request table view to reload
[tableView reloadData];
} 

Някой знае ли как мога да внедря метода за изтриване?


person MKH    schedule 31.07.2015    source източник
comment
какво е backend? как е внедрен вашият бекенд? как може някой да изтрие нещо, използвайки вашия бекенд?   -  person ogres    schedule 31.07.2015
comment
под бекенд дума имам предвид сървър. Не го внедрих. това е API на трета страна. сървърът позволява на хората да се регистрират и да получават рецепти от него. сървърът също позволява на потребителя да персонализира списък с рецепти чрез добавяне, редактиране и изтриване на рецепти. @ogres   -  person MKH    schedule 31.07.2015


Отговори (2)


Здравейте, предполагам, че влизате, за да изтриете ред от табличния изглед и подкрепения. предполагам, че тази връзка ще ви помогне. изтриване на ред

ако потребителят е изтрил ред, който не иска да вижда, той може да бъде изтрит от tableview по този метод

 [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationLeft];

и след това трябва да го премахнете от вашата поддръжка, като ако вашата поддръжка е локална база данни, тогава трябва да задействате заявка за изтриване и ако използвате уеб услуга, натиснете уеб услугата.

person Parv Bhasker    schedule 31.07.2015

Мисля, че имате нужда от това:

NSString *query=[NSString stringWithFormat:@"delete from Inbox_Table where msg_ID='%d'",obj.msg_ID]; //whatever your delete query
[DataBaseClass deleteRecord:[query UTF8String]]; //call method to delete from database

[testArr removeObjectAtIndex:indexPath.row]; //remove from array
[tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade]; //remove row from tableview
person Bhanupriya    schedule 31.07.2015
comment
Благодаря ви за отговора. Използвам втората част от вашия отговор. но не можах да използвам първата част, тъй като моят бекенд е на сървъра. - person MKH; 31.07.2015
comment
Актуализирах въпроса - person MKH; 31.07.2015