2015-04-15 22 views
0

我已經閱讀了關於如何使用XML和JSON POST數據的Stack上的幾篇文章,但沒有任何內容向我介紹如何更新選定的對象。將JSON數據POST到特定對象iOS

我從我的老闆的工作跟蹤API罰款數據,所有的東西都考慮在內。不過,我想更新單個選定對象的變量。

例子:

如果我有一個配方站點的API和我拉下100周的食譜,並在表中顯示標題。我選擇一行,它會顯示一個新的屏幕,其中顯示了有關配方的所有詳細信息,包括用於更新內容的文本框以及將保存到網站的按鈕。 如何更新所選配方中的成分,使其在網站上呈現?

記住我正在使用我的業務'API,而不是Parse.com或其他基於服務器的數據庫。

我寧願使用JSON,但如果有更好的解決方案使用XML我很好。

新思路

我必須更換整個對象進行更新時?

更多信息

由於使用的API,我沒有直接鏈接到一個特定的對象。我得到塊(100食譜),必須遍歷塊來保存每個對象作爲NSObject,然後按照我喜歡的方式對新存儲的NSObject進行排序。當我選擇一行時,我選擇一個已排序並顯示該對象內容的對象。我不知道這些信息是否有用。

其原因的額外信息是:

當試圖更新通過API的對象,我我怎麼知道更新特定對象,而不是對象的整個列表?

+0

您可以發佈數據到現有場 –

+0

@ T_77待辦事項你有一個例子嗎? –

回答

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 .....所以你的網址應該是這樣的:[http://recipie/ID=%@,text_field.text]; –

相關問題