2015-04-15 4 views
0

Я прочитал несколько сообщений о стеке о том, как данные POST используют как XML, так и JSON, однако мне ничего не стоит о том, как обновлять выбранный объект.POST JSON данные для конкретного объекта iOS

Я извлекаю данные из API отслеживания работы моего босса в порядке, все вещи учитываются. Однако я хочу обновить переменные отдельных выбранных объектов.

Пример:

Если у меня есть рецепт сайта API и я потянув вниз 100 рецептов и отображения заголовков в таблице. Я выбираю строку и отображает новый экран, на котором отображаются все сведения о рецепте с текстовыми полями для обновления содержимого и кнопка, которая будет сохранена на веб-сайте. Как обновить ингредиент по выбранному рецепту, чтобы он был представлен на веб-сайте?

Готов в виду, что я использую API моего бизнеса, а не Parse.com или другую базу данных на сервере.

Я бы предпочел использовать JSON, однако, если есть лучшие решения, использующие XML, я в порядке с этим.

Новая мысль

Должен ли я заменить весь объект при обновлении?

Подробнее

Благодаря использовании API, не имеют ссылки непосредственно к конкретному объекту. Мне дается блок (100 рецептов), необходимо выполнить итерацию по блоку, чтобы сохранить каждый объект как NSObject, а затем отсортировать недавно сохраненные NSObjects, как мне нравится. Когда я выбираю строку, я выбираю объект, который был отсортирован и отображает содержимое этих объектов. Я не знаю, полезна эта информация или нет.

Причина этой дополнительной информации:

При попытке обновить объект через API, как я знаю, что обновление, что конкретный объект, а не весь список объектов?

+0

вы можете отправить данные на существующем поле –

+0

@ T_77 Do у вас есть пример, случайно? –

ответ

1

Я думаю, что вы хотите POST данные на существующих месторождениях:

Вы можете попробовать это POST данные:

NSString *post = [NSString stringWithFormat:@"text_field1=%@",text_field.text]; 
    NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES]; 
    NSString *postLength = [NSString stringWithFormat:@"%lu",(unsigned long)[postData length]]; 
    NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init] ; 
    [request setURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://your api to recieve the data into the fields"]]]; 
    [request setHTTPMethod:@"POST"]; 
    [request setValue:postLength forHTTPHeaderField:@"Content-Length"]; 
    [request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"]; 
    [request setHTTPBody:postData]; 
    NSURLConnection *conn = [[NSURLConnection alloc]initWithRequest:request delegate:self]; 

    if(conn) { 
     NSLog(@"Connection Successful"); 

    } else { 
     NSLog(@"Connection could not be made"); 
    } 
    } 
+0

У меня что-то похожее на то, но мне страшно думать, что я могу сделать это по всей базе данных, а не по выбранному полю ;-) Может быть, придется кусать пулю. –

+0

Я запутался, потому что я не знаю, как API знает, какой «рецепт» я выбрал для обновления переменной ингредиента? ** Подразумевается ли это, что он содержится в URL-адресе или? –

+0

Поместите все рецепты в одну таблицу и дайте ID для каждого рецепта ..... поэтому ваш url должен выглядеть примерно так: [http: //recipie/ID=%@,text_field.text]; –

Смежные вопросы