我正在執行一些字符串連接來創建數據庫查詢。 作爲其中的一部分,我需要分配並重新分配NSString變量以附加到它。什麼是附加到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 %@
爲什麼要先分配初始化retVal並重新分配給它? – 2012-12-09 21:16:12
我複製並運行了你的代碼,它對我來說工作得很好 - 你在哪裏運行你的代碼?其他的東西是否可以將retVal設置爲空字符串? – redlightbulb
對我來說工作也很好。你在哪裏登錄?我猜測retVal在您檢查時已被釋放。 – rdelmar