【问题标题】:Too many arguments to method call expected 1 have 2 [duplicate]方法调用的参数太多预期1有2 [重复]
【发布时间】:2014-07-11 08:40:00
【问题描述】:

这是我的代码。

NSString *target = @"http://www.google.com/";
NSString *html = [NSString stringWithContentsOfURL: [NSURL URLWithString:@"%@", target] encoding: -2147481280 error: nil];

我的代码给了我上面的错误

Too many arguments to method call expected 1 have 2

谁来帮帮我..

【问题讨论】:

  • [NSURL URLWithString:@"%@", target] -> URLWithString 将 NSString 作为参数,而不是 formatedString。解决方案由 [NSURL URLWithString:target] 替换。

标签: ios objective-c arguments nsurl


【解决方案1】:

问题在于以下代码 sn-p:

[NSURL URLWithString:@"%@", target]

您无需在此处指定类型说明符。

您需要更改您的代码,例如:

NSString *target = @"http://www.google.com/";
NSString *html = [NSString stringWithContentsOfURL: [NSURL URLWithString:target] encoding:NSUTF8StringEncoding error: nil];

【讨论】:

  • @trojanfoe:我刚刚解决了这个问题,我只是从问题中复制了代码,只更改了导致问题的部分:)
【解决方案2】:

选择其中之一。

NSString *html = [NSString stringWithContentsOfURL: [NSURL URLWithString:[NSString stringWithFormat:@"%@", target]] encoding: -2147481280 error: nil];

NSString *html = [NSString stringWithContentsOfURL: [NSURL URLWithString:target] encoding: -2147481280 error: nil];

【讨论】:

  • 第一种形式包含一个没用的stringWithFormat:,所以真的只有一个选择。
  • @trojanfoe 我认为他可能会使用 NSStringWithFormat 修改 URL。这就是我添加的原因。
【解决方案3】:

你也可以这样使用,只需要一行代码:-

NSString *html = [NSString stringWithContentsOfURL:[[NSURL alloc] initWithString:@"http://www.google.com/"] encoding:NSUTF8StringEncoding error: nil];

【讨论】:

    猜你喜欢
    • 2012-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多