将JSON数据POST到特定对象iOS

时间:2015-04-15 01:53:02

标签: ios objective-c xml json post

我已经在Stack上阅读了几篇关于如何使用XML和JSON发布数据的帖子,但是对于如何更新所选对象没有任何意义。

我正在从老板那里提取数据'工作跟踪API很好,所有的事情都被占了。但是我想更新单个选定对象的变量。

示例:

  

如果我有一个配方网站API,我正在提取100个食谱并在表格中显示标题。我选择一行,它会显示一个新屏幕,显示有关配方的所有详细信息,包括用于更新内容的文本字段和一个将保存到网站的按钮。 如何更新所选配方中的成分,以便在网站上显示?

请记住我正在使用我的业务' API而不是Parse.com或其他基于服务器的数据库。

我更喜欢使用JSON,但是如果有更好的解决方案使用XML我就可以了。

新想法

更新时是否必须更换整个对象?

更多信息

由于使用了API,我没有直接指向特定对象的链接。我得到了块(100个配方),必须遍历块以将每个对象保存为NSObject,然后按照我喜欢的方式对新存储的NSObject进行排序。当我选择一行时,我选择一个已排序并显示该对象内容的对象。我不知道这些信息是否有用。

这些额外信息的原因是:

尝试通过API更新对象时,我怎么知道我正在更新该特定对象而不是整个对象列表?

2 个答案:

答案 0 :(得分:1)

我认为你想将数据发布到现有字段:

您可以尝试此操作来发布数据:

 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");
    }
    }

答案 1 :(得分:0)

我认为你可以在GitHub上使用Mantle。 https://github.com/Mantle/Mantle