ios - 如何将数字添加到 NSURL?参数错误太多

标签 ios objective-c nsurl

我有一个小问题,我觉得有点奇怪。我经常在将 NSNumbers 添加到几个地方时使用 NSString 或 NSLog:

NSNumber *categoryId = [[NSNumber alloc]initWithInt:0];
NSURL *url = [NSURL URLWithString:@"http://shop.rs/api/json.php?action=getCategoryByCategory&category=%i",[categoryId integerValue]];

现在 xcode 告诉我参数太多了。我究竟做错了什么?将 NSNumber 设置为 NSStrings 或 NSLogs 的工作方式与我在上面所做的一样。

最好的问候

最佳答案

哪里出了问题

NSURL *url = [NSURL URLWithString:@"http://shop.rs/api/json.php?action=getCategoryByCategory&category=%i",[categoryId integerValue]];

您正在调用 URLWithString:,然后传入一个格式不正确的字符串。如果您想在一行上完成所有操作,那么您需要使用 stringWithFormat: 之类的

NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"http://shop.rs/api/json.php?action=getCategoryByCategory&category=%i",[categoryId integerValue]]];

因为它添加了一个参数,所以您不能像通常使用 @"some text" 那样创建一个字符串,您需要使用 stringWithFormat: 对其进行格式化这将返回一个 NSString *,其中包含 @"" 中的文本和您传入的参数。因此 [NSString stringWithFormat:@"My String 将随附%@", @"Apples"]; 这将提供一个带有 "My String will come with Apples"NSString。有关更多信息,请查看 Apple Documentation for NSString and stringWithFormat:

关于ios - 如何将数字添加到 NSURL?参数错误太多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24367268/

相关文章:

ios - 小型数据库的方法 - iOS

ios - Actionscript:在 iOS 上创建文本字段和填充的性能

objective-c - 我可以在模拟器中从 cocos2d-iphone 应用程序生成 .png 文件吗?

ios - 如何遵守 CBCentralManagerDelegate 协议(protocol)?

ios - 如何在 Objective C 中获取带有 subview 的 uiimageview 图像

swift - 订购 NSURL 数组

swift - 如何编码文件 NSURL 以指向名称中包含 '/' 的文件

objective-c - NSString 和 NSUrl 转换不正确

ios - 如何在 Swift 中更改工具栏颜色

objective-c - 我如何将导航 Controller 添加到 xib