我已经在Stack上阅读了几篇关于如何使用XML和JSON发布数据的帖子,但是对于如何更新所选对象没有任何意义。
我正在从老板那里提取数据'工作跟踪API很好,所有的事情都被占了。但是我想更新单个选定对象的变量。
示例:
如果我有一个配方网站API,我正在提取100个食谱并在表格中显示标题。我选择一行,它会显示一个新屏幕,显示有关配方的所有详细信息,包括用于更新内容的文本字段和一个将保存到网站的按钮。 如何更新所选配方中的成分,以便在网站上显示?
请记住我正在使用我的业务' API而不是Parse.com或其他基于服务器的数据库。
我更喜欢使用JSON,但是如果有更好的解决方案使用XML我就可以了。
新想法
更新时是否必须更换整个对象?
更多信息
由于使用了API,我没有直接指向特定对象的链接。我得到了块(100个配方),必须遍历块以将每个对象保存为NSObject,然后按照我喜欢的方式对新存储的NSObject进行排序。当我选择一行时,我选择一个已排序并显示该对象内容的对象。我不知道这些信息是否有用。
这些额外信息的原因是:
尝试通过API更新对象时,我怎么知道我正在更新该特定对象而不是整个对象列表?
答案 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