如何使用NSMutableString附加NSMutableString?

时间:2010-08-30 11:42:54

标签: iphone objective-c

NSMutableString *str, *str1;

//在这里分配

我正在使用 [str appendString:str1]无效。 [str appendFormat:str1]无效。

那么,如何将NSMutableString附加到另一个NSMutableString

@strempty string初始化为nilstr1有一些价值。 [str appendString str1]返回null

4 个答案:

答案 0 :(得分:21)

好像您正在向nil发送消息。 nil NOT 是一个对象,它只是 nothing 。向 nothing 发送消息只返回 nothing 。为了附加这些字符串,您需要初始化为空字符串。像这样:

NSMutableString *str = [NSMutableString string];

然后你的代码就可以了。像这样:

[str appendString:str1];

答案 1 :(得分:3)

如果str == nil,则不执行任何调用,因为没有分配任何对象来接收消息但没有引发异常(在Objective-C中设计的消息返回nil返回nil。)

NSMutableString *str, *str1;

str = [NSMutableString stringWithString:@"Hello "];
str1 = [NSMutableString stringWithString:@"World"]; 

NSMutableString *sayit = [str appendString:str1];

答案 2 :(得分:0)

NSMutableString *mystring = [NSMutableString stringWithFormat:@"pretty"];
    NSMutableString *appending = [NSMutableString stringWithFormat:@"face"];
    [mystring appendString:appending];

适合我...

你确定已经分配了变量(正确吗?)?没有拼写错误?

答案 3 :(得分:0)

Swift版本

虽然在Swift中使用NSMutableString it may at times be necessary并不是一般做法。这就是你要做的事情:

var str: NSMutableString = NSMutableString()
var str1: NSMutableString = "some value"
str.appendString(str1 as String) // str = "some value"

请注意,在Swift中追加字符串的常用方法是这样的:

var str = ""
let str1 = "some value"
str += str1

其中strstr1被推断为String类型。