-2

サーバーから 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 

delete メソッドを実装したいと思います。実際、次のメソッドを実装する必要があることはわかっていました。

- (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];
} 

delete メソッドを実装する方法を知っている人はいますか?

4

2 に答える 2

1

こんにちは、tableview と backed から行を削除するためにログを記録していると思います。このリンクが役立つと思います。行を削除する

ユーザーが見たくない行を削除した場合、この方法でテーブルビューで削除できます

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

その後、バッキングがローカルデータベースの場合と同様に、バッキングから削除する必要があり、削除クエリを起動する必要があり、Web サービスを使用している場合は Web サービスをヒットします。

于 2015-07-31T11:55:11.910 に答える
1

これが必要だと思います:

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
于 2015-07-31T12:11:29.077 に答える