stringByReplacingOccurrencesOfString不起作用

Kru*_*nal 1 iphone nsstring ipad ios

我想用一些其他组件替换myurl中的一些组件,但它不起作用..

这是我的代码段:

NSString *Url =@"http://www.myData.com/pageId=aaa&pageSize=bbb&page=2"
Run Code Online (Sandbox Code Playgroud)

在上述网址我想取代aaastr1bbbstr2..

    [Url stringByReplacingOccurrencesOfString:@"aaa" withString:str1];
    [Url stringByReplacingOccurrencesOfString:@"bbb" withString:str2];

    NSLog(@"Final Url = %@",Url);
Run Code Online (Sandbox Code Playgroud)

最后当我看到我的日志,Final Url不替换aaastr1,并bbbstr2..

谢谢阅读...

Jas*_*Lee 13

一些字符串函数采用就地替换,但其他字符串函数返回替换的一个.

完整代码如下:

NSString *Url = @"http://www.myData.com/pageId=aaa&pageSize=bbb&page=2";
Url = [Url stringByReplacingOccurrencesOfString:@"aaa" withString:str1];
Url = [Url stringByReplacingOccurrencesOfString:@"bbb" withString:str2];

NSLog(@"Final Url = %@",Url);
Run Code Online (Sandbox Code Playgroud)


Ano*_*dya 13

该方法stringByReplacingOccurrencesOfString:withString:返回NSString,您需要存储该方法.

您只是转储返回的值并期望更改调用者.

你需要使用:

Url=[Url stringByReplacingOccurrencesOfString:@"aaa" 
                                   withString:str1];
Url=[Url stringByReplacingOccurrencesOfString:@"bbb" 
                                   withString:str2];
Run Code Online (Sandbox Code Playgroud)