我正在执行一些字符串连接来创建数据库查询。 作为其中的一部分,我需要分配并重新分配NSString变量以便附加到它。
我目前正在使用此代码:
NSString *retVal = [[NSString alloc]init];
NSString *concat = @"";
retVal = [NSString stringWithFormat:@"%@%@ myfield= 'myvalue'", retVal, concat];
请注意,只要retVal和concat保持“”(空字符串),我就会在retVal中返回空字符串。这绝对不是预期的,因为我应该得到“myfield ='myvalue'”。
我错过了什么?
更新
这是我试过的最后一次:
NSMutableString * retVal = [[NSMutableString alloc] init];
NSString * concat = @"";
[retVal appendString:@"appendstring"];
NSLog(@"%@", retVal); // prints <object returned empty description>
[retVal appendString:concat];
[retVal appendString:@"appendstring1"];
NSLog(@"%@", retVal); // prints %@
答案 0 :(得分:2)
NSString *retVal = @"";
NSString *concat = @"";
//do whatever stuff you want with retVal and concat
//once finished then do this below
if(retVal.length==0||concat.length==0)
{
retVal = @"myfield= 'myvalue'";
}
else
retVal = [NSString stringWithFormat:@"%@%@ myfield= 'myvalue'", retVal, concat];
答案 1 :(得分:1)
使用NSMutableString
与appendString:
,使用stringByAppendingString:
,或使用单个stringWithFormat:
构建完整字符串,同时插入所需的值。< / p>