我正在动态构建一个URL参数&我正面临一些问题。我有一个数组,以这种方式包含当前的2个对象
NSArray *myArrays=[NSArray arrayWithObjects:@"123",@"456", nil];
但将来可能包含“N”个对象。
现在我手动将它转换为像这样的
id params = @{@"id": @"{\"request\":[\"123\",\" 456\"]}"};
但是我怎样才能创造出一种动态的方式,以便它会是2或200,它会让我超越这种方式。
答案 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);