我收到此错误:[NSURL stringByAppendingFormat:]:无法识别的选择器在到达追加时发送到实例0x5869210。 strcust是一个普通数字,strURI在追加之前是正确的。
NSString *strUIR = [NSURL URLWithString:@"https://cid.hooru.mobi:36610/?";
strURI = [strURI stringByAppendingFormat:@&Cust=IPRR%@", strCust];
任何想法都将不胜感激。我只是想从变量中追加名称/值对。无法获得附加工作。
答案 0 :(得分:2)
这段代码有几个问题:
NSString
但是您正在分配NSURL
NSString
对象NSURL
方法
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];
答案 1 :(得分:0)
[NSURL URLWithString:]返回NSURL类型的指针。仅收集NSString *类型中的NSURL *类型的返回值不会将其转换为NSString *类型。因此strUIR是NSURL *类型,即使声明为NSString strUIR,因此您不能将任何消息传递给应该传递给NSString 类型的strUIR。
答案 2 :(得分: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]