2015-04-15 25 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]; –