3

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

2 回答 2

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];
于 2012-12-09T21:33:33.490 回答
1

使用NSMutableStringwith appendString:、 usestringByAppendingString:或使用单个 构建完整的字符串,一次stringWithFormat:插入您需要的所有值。

于 2012-12-09T21:25:50.513 回答