建议的附加NSString的方法是什么

时间:2012-12-09 21:13:20

标签: ios iphone cocoa-touch nsstring nsmutablestring

我正在执行一些字符串连接来创建数据库查询。 作为其中的一部分,我需要分配并重新分配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 %@

2 个答案:

答案 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)

使用NSMutableStringappendString:,使用stringByAppendingString:,或使用单个stringWithFormat:构建完整字符串,同时插入所需的值。< / p>