objective-c - 优雅地替换 URL/NSString 中的多个标记

标签 objective-c ios cocoa-touch nsstring

当我与后端通信时,我经常有这样的 URL:

http://myserver.com/api/endpoint?param1={PARAM1}&param2={PARAM2}

因此,在发出请求之前,我需要用实际值替换这些参数。所以像下面这样的代码片段遍布我的代码:
myString = [[[uriString  stringByReplacingOccurrencesOfString:@"{PARAM1}" withString:@"..."]
              stringByReplacingOccurrencesOfString:@"{PARAM2}" withString:@"..."]
             stringByReplacingOccurrencesOfString:@"{PARAMn}" withString:@"..."];

我现在正在寻找一种优雅的方法来替换这些参数,我可以想到一些选择:
  • 做一个 NSString 的类别:
    [myString replaceOccurencesOfStrings:@"{PARAM1}",@"{PARAM2}",nil withStrings @"value1",@"value2",nil];
    
  • 制作一个与上面示例相同的 Util,只是我将字符串
  • 传递给它
  • 1. 相同的方法和 2.但是使用具有如下键值的 NSDictionary:'PARAM1' -> 'value1' ...

  • 实现这一目标的最有效和最优雅的方法是什么

    最佳答案

    尝试使用 [NSString stringWithFormat] :

    myString = [NSString stringWithFormat:@"http://myserver.com/api/endpoint?param1=%@&param2=%@", @"valueOfParam1", @"valueOfParam2"];
    

    关于objective-c - 优雅地替换 URL/NSString 中的多个标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8739890/

    相关文章:

    ios - 无法使 UiTableView 工作

    ios - 如何将 XIB 文件添加到使用 Storyboard 的 iOS 应用程序?

    ios - 拍照时应用程序崩溃且没有错误

    ios - 如何在 IOS 中通过预定义的短语和盐值生成散列键?

    ios - iPad 上的 MFMailComposeViewController 黑屏

    ios - Apprtc 无法在公共(public)网络 iOS 中工作

    cocoa-touch - 更改键盘语言

    objective-c - TouchesMoved 仅返回已更改的触摸,忽略未更改的触摸

    iphone - 将 __FILE__ 宏作为参数传递

    ios - 在按钮操作上实例化 UINavigationController