动态构建URL参数?

时间:2015-05-06 19:53:46

标签: ios objective-c

我正在动态构建一个URL参数&我正面临一些问题。我有一个数组,以这种方式包含当前的2个对象

NSArray *myArrays=[NSArray arrayWithObjects:@"123",@"456", nil];

但将来可能包含“N”个对象。

现在我手动将它转换为像这样的

id params = @{@"id": @"{\"request\":[\"123\",\" 456\"]}"};

但是我怎样才能创造出一种动态的方式,以便它会是2或200,它会让我超越这种方式。

2 个答案:

答案 0 :(得分:0)

这样的东西?

    NSArray *arr = @[@"one", @"two"];
    NSMutableString *params = [[NSMutableString alloc] initWithString:@"{\"request\":[\""];
    [params appendString:[arr componentsJoinedByString:@"\",\" "]];
    [params appendString:@"\"]}"];

答案 1 :(得分:0)

因此,如果我理解正确,您希望您的字符串看起来像这样:

  

abc.xyz.com/status?id = {“request”:[“123”,“456”]}

所以你可以做的是将其分解为动态部分并将它们组合在一起。

NSArray *array = @[@"123, ", @"456"]; // leave off comma for last element in array
NSString *urlPrefix = @"abc.xyz.com"; // Or I suppose you can make this dynamic
NSString *urlIntermediate = @"/status?id={";
NSMutableString *requestWithArray = [[NSMutableString alloc] initWithString:@"\"request\":["];

for (NSString *s in array) {
    [requestWithArray appendString:s];
}

NSString *finalURL = [NSString stringWithFormat:@"%@%@%@]}", urlPrefix, urlIntermediate, requestWithArray];

NSLog(@"%@", finalURL);