0

我收到此错误:[NSURL stringByAppendingFormat:]: unrecognized selector sent to instance 0x5869210 when it get to append。strcust 是一个纯数字,并且 strURI 在追加之前是正确的。

 NSString *strUIR = [NSURL URLWithString:@"https://cid.hooru.mobi:36610/?";
 strURI = [strURI stringByAppendingFormat:@&Cust=IPRR%@", strCust];

任何想法将不胜感激。我只是想从变量中附加名称/值对。无法使附加工作。

4

3 回答 3

2

这段代码有几个问题:

  1. 您正在声明一个,NSString但您正在分配一个NSURL
  2. 你缺少一个右方括号']'
  3. 您在第二行缺少双引号
  4. 您正在尝试调用对象NSString上的方法NSURL
  5. 您在strURI第一行拼写错误(它是strUIR

试试这个:

NSString *strURI = @"https://cid.hooru.mobi:36610/?";
strURI = [strURI stringByAppendingFormat:@"&Cust=IPRR%d", strCust]; 
//Note the %d (if strCust is an int. If it's an NSString use %@)

NSURL *myUrl = [NSURL UrlWithString:strURI];
于 2012-05-15T20:08:53.377 回答
0

[NSURL URLWithString:] 返回 NSURL 类型的指针。仅在 NSString* 类型中收集 NSURL* 类型的返回值不会将其转换为 NSString* 类型。因此 strUIR 是 NSURL* 类型,即使声明为 NSString strUIR,因此您不能将任何应该传递给 NSString类型的消息传递给 strUIR。

于 2012-05-15T20:11:06.290 回答
0

NSURL 不响应 stringByAppendingFormat:

您将 strURI 指定为 NSString,因此编译器不会发出警告,但您将其设置为 NSURL。

在创建 NSURL 之前初始化完整的字符串,或者使用 URLByAppendingPathComponent:,我推荐第一个选项。

    NSString *path = @"https://cid.hooru.mobi:36610/?"

...

    path = [path stringByAppendingFormat:@"&Cust=IPRR%@", strCust];
    NSURL *url = [NSURL URLWithString:path]

有关更多信息,请参阅文档:https ://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSURL_Class/Reference/Reference.html

于 2012-05-15T20:12:18.377 回答