Objective c 如何将字典输出值传递到目标C中的url?

Objective c 如何将字典输出值传递到目标C中的url?,objective-c,Objective C,我正在开发一个概念验证应用程序,它扫描条形码并将条形码信息作为UPC值返回(即9780596001612)。我对如何将返回值传递到url感到困惑(我在网上阅读了一些教程,但这些教程似乎没有我想要的内容)。我已经在代码中硬编码了UPC值,并且得到了正确的响应,但是我希望能够通过条形码扫描传递返回值,并将该值传递到url。我最近开始研究Objective C,非常感谢您的帮助。多谢各位 - (void) onQRCodeScanned:(NSString*) result { NSStrin

我正在开发一个概念验证应用程序,它扫描条形码并将条形码信息作为UPC值返回(即9780596001612)。我对如何将返回值传递到url感到困惑(我在网上阅读了一些教程,但这些教程似乎没有我想要的内容)。我已经在代码中硬编码了UPC值,并且得到了正确的响应,但是我希望能够通过条形码扫描传递返回值,并将该值传递到url。我最近开始研究Objective C,非常感谢您的帮助。多谢各位

- (void) onQRCodeScanned:(NSString*) result {
    NSString *theJSONString = [result description];
    NSError *theError = NULL;
    NSDictionary *theDictionary = [NSDictionary dictionaryWithJSONString:theJSONString  error:&theError];
    NSArray *results = [theDictionary objectForKey:@"decodedString"];
    //results returns 9780596001612 
    NSString *barcodeUrl = @"http://www.outpan.com/api/get_product.php?barcode=9780596001612";
    NSString *resp = [self makeRestAPICall: barcodeUrl];
}

您需要对字符串进行如下格式化以包含条形码(我假设条形码是
results
变量的第一个结果-它在当前格式中没有意义-并且第一个结果确实存在):

请注意我是如何使用
stringWithFormat:
然后使用
%@
来表示一个“变量”,后面是我想要包含的实际变量

您可以使用占位符包括基本类型,如
%d
(int)、
%c
(char)。您可以使用
%@
表示对象,例如NSString

您可以对任意数量的变量执行此操作,但如果占位符的数量与变量的数量不匹配,则会出现错误


你可能喜欢读这篇文章:

你说
results
是一个
NSArray
。数组是否包含多个UPC值?您想将所有这些内容都添加到URL吗?很抱歉,结果将只返回一个upc代码。我应该想出一个更好的名字,现在就可以用了。感谢您的文章参考和快速回复。
NSArray *results = [theDictionary objectForKey:@"decodedString"];
NSString *barcode = [results firstObject];
NSString *barcodeUrl = [NSString stringWithFormat:@"http://www.outpan.com/api/get_product.php?barcode=%@",barcode];
NSString *resp = [self makeRestAPICall: barcodeUrl];