尝试将const char *str
附加到NSSting *
:
在.h中
@interface SomeViewController : UIViewController
{
NSString *consoleText;
}
@property (nonatomic, retain) NSString *consoleText;
@end
以.mm为单位
@synthesize consoleText;
可以的。
const char *str = "abc";
self.consoleText = [NSString stringWithFormat: @"%@%@", self.consoleText, [NSString stringWithUTF8String:str]];
但是以下失败:
self.consoleText = [self.consoleText stringByAppendingString:[NSString stringWithUTF8String:str]];
为什么
stringByAppendingString
失败但stringWithFormat
起作用?谢谢! 最佳答案
在其中两个操作中,您正在做不同的事情,一个是追加现有字符串,另一个是设置新字符串
要追加字符串,应该有一个字符串对象
self.consoleText = [self.consoleText stringByAppendingString:[NSString stringWithUTF8String:str]];
据了解self.consoleText ---> nil,所以它不会追加字符串。
所以做类似的事情
if(self.consoleText)
{
self.consoleText = [self.consoleText stringByAppendingString:[NSString stringWithUTF8String:str]];
}else
{
self.consoleText = [NSString stringWithUTF8String:str];
}