Ios 无法识别的选择器错误
我收到以下错误:[NSURL stringByAppendingFormat:]:当实例0x5869210到达append时,将无法识别的选择器发送到实例0x5869210。strcust是一个普通数字,strURI在追加之前是正确的Ios 无法识别的选择器错误,ios,Ios,我收到以下错误:[NSURL stringByAppendingFormat:]:当实例0x5869210到达append时,将无法识别的选择器发送到实例0x5869210。strcust是一个普通数字,strURI在追加之前是正确的 NSString *strUIR = [NSURL URLWithString:@"https://cid.hooru.mobi:36610/?"; strURI = [strURI stringByAppendingFormat:@&Cust=IPR
NSString *strUIR = [NSURL URLWithString:@"https://cid.hooru.mobi:36610/?";
strURI = [strURI stringByAppendingFormat:@&Cust=IPRR%@", strCust];
如有任何想法,将不胜感激。我只是想从变量中附加名称/值对。无法获取附加到工作中。这段代码有几个问题:
NSString
,但正在分配一个NSURL
NSURL
对象调用NSString
方法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];
[NSURL URLWithString:]返回NSURL类型的指针。仅收集NSString*类型中NSURL*类型的返回值不会将其转换为NSString*类型。因此,即使声明为NSString strUIR,strUIR也是NSURL*类型,因此您不能将任何本应传递给NSString类型的消息传递给strUIR。NSURL不响应stringByAppendingFormat: 将strURI指定为NSString,这样编译器就不会发出警告,但将其设置为NSURL 在创建NSURL之前初始化完整字符串,或者使用URLByAppendingPathComponent:,我建议使用第一个选项
NSString *path = @"https://cid.hooru.mobi:36610/?"
有关更多信息,请参阅文档:您提供的代码中存在语法错误。第一行缺少结束方括号。第二行在@符号后面缺少一个开始引号。您可能想稍微编辑一下这个答案。括号后的第二行,将其从strURI更改为strUIR@JustinAmberson谢谢,刚刚在帖子上注意到了这一点,并提出了第5点,但也忘了编辑我的:PYes,对不起,在我发布后注意到了这些愚蠢的错误。看这东西太久了!谢谢您的快速回复。@monicarosematino不客气。如果这就是你要找的答案,考虑把它标记为正确的。
path = [path stringByAppendingFormat:@"&Cust=IPRR%@", strCust];
NSURL *url = [NSURL URLWithString:path]