【问题标题】:POST JSON data to specific object iOSPOST JSON 数据到特定对象 iOS
【发布时间】:2015-04-15 01:53:01
【问题描述】:

我在 Stack 上阅读了几篇关于如何同时使用 XML 和 JSON 发布数据的帖子,但是关于如何更新选定对象的内容对我来说并没有什么特别之处。

我正在从我老板的工作跟踪 API 中提取数据,一切都已计算在内。但是我想更新单个选定对象的变量。

例子:

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

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

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

新思想

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

更多信息

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

这个额外信息的原因是:

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

【问题讨论】:

  • 您可以将数据发布到现有字段
  • @T_77 你有例子吗?

标签: ios objective-c xml json post


【解决方案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");
    }
    }

【讨论】:

  • 我有类似的东西,但是我害怕我可能会在整个数据库而不是选定的字段中这样做;-) 不过可能不得不咬紧牙关。
  • 我很困惑,因为我不知道 API 如何知道我选择了哪个“配方”来更新成分变量?在 URL 内还是?
  • 将所有食谱放在一个表中,并为每个食谱提供 ID .....所以您的网址应该类似于:[recipie/ID=%@,text_field.text];
  • 不幸的是,它对我不起作用。我在 API 中有 WHERE 和 ORDER 子句,它们没有通过应用程序响应。不过,它们在浏览器中测试时工作正常。会努力解决的。感谢您的帮助:-)
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2015-06-22
    • 1970-01-01
    • 2023-03-15
    • 2020-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多