stringByAppendingString在目标c中发布

Bla*_*oil 5 objective-c

NSString *tmpStr = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];
xmlSms = [xmlSms stringByAppendingString:tmpStr];
NSLog(xmlSms);
Run Code Online (Sandbox Code Playgroud)

我上面的代码但NSLog没有显示任何东西......有人知道这个问题吗?

Bla*_*oil 10

没关系......我想出了原因.问题是,当你想在字符串上使用stringByAppendingString时,字符串应该具有初始值.

错误的例子:

NSString *str1;
str1 = [str1 stringByAppendingString:@"test"];
Run Code Online (Sandbox Code Playgroud)

应该:

NSString *str1 = @"";
str1 = [str1 stringByAppendingString:@"test"];
Run Code Online (Sandbox Code Playgroud)