Как удалить объект 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
что такое бэкенд? как реализован ваш бэкенд? как кто-то может удалить что-то, используя ваш бэкэнд?   -  person ogres    schedule 31.07.2015
comment
под бэкэндом я подразумеваю сервер. Я не реализовал это. это сторонний API. сервер позволял людям регистрироваться и получать от него рецепты. сервер также позволяет пользователю настраивать список рецептов, добавляя, редактируя и удаляя рецепты. @огрес   -  person MKH    schedule 31.07.2015


Ответы (2)


Привет, я думаю, вы регистрируетесь, чтобы удалить строку из таблицы и резервной копии. Я думаю, эта ссылка поможет вам. удалить строку

если пользователь удалил какую-либо строку, которую он не хочет видеть, ее можно удалить с помощью таблицы с помощью этого метода.

 [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