stringByAppendingString在目标c中发布

时间:2009-09-04 05:44:47

标签: objective-c

NSString *tmpStr = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];
xmlSms = [xmlSms stringByAppendingString:tmpStr];
NSLog(xmlSms);

我上面有代码但NSLog没有显示任何内容......有人知道问题吗?

3 个答案:

答案 0 :(得分:10)

没关系......我弄明白了为什么。 问题是,当你想在字符串上使用stringByAppendingString时,字符串应该有初始值。

错误的例子:

NSString *str1;
str1 = [str1 stringByAppendingString:@"test"];

应该是:

NSString *str1 = @"";
str1 = [str1 stringByAppendingString:@"test"];

答案 1 :(得分:4)

您对NSLog的呼叫不正确。尝试:

NSLog(@"%@", xmlSms);

答案 2 :(得分:0)

在Cocoa中,初始化函数(“构造函数”)如果因某种原因失败,通常会返回nilNSString州的文档:

  

如果由于某种原因初始化失败,则返回nil(例如,如果数据不代表编码的有效数据)。

您确定传递给init函数的NSData对象实际上是否包含UTF8编码的字符串?如果没有,则返回的对象将为nil