无法附加NSString

时间:2014-04-11 06:29:38

标签: ios objective-c ios7 nsurlconnection nsurlrequest

我想在连接失败事件上重新执行NSURLRequest。我想为现有的POST参数添加一个参数。

代码:

NSMutableString * postParams = [[NSMutableString alloc] initWithData:((NSData *)((NSURLRequest *)connection.originalRequest).HTTPBody) encoding:NSUTF8StringEncoding];

// If post parameters "retry" is not found in HTTP body
if ([postParams rangeOfString:@"retry="].location == NSNotFound)
{
    // Append a string with parameter "retry" with value true.
    [postParams stringByAppendingString:[NSString stringWithFormat:@"&retry=%d", true]];
    NSLog(@"Modified params : %@", postParams);
}

在我记录其值时修改字符串中的参数后,它将保持不变。

如何将POST参数添加到现有请求?

1 个答案:

答案 0 :(得分:1)

问题是您用于附加字符串的方法。

stringByAppendingString:复制当前字符串,追加参数,并返回结果。它不会修改原始字符串。

在您的情况下进行的最简单修改可能只是使用appendString: NSMutableString方法。

[postParams appendString:[NSString stringWithFormat:@"&retry=%d", true]];