NSMutableString *str, *str1;
//在这里分配
我正在使用[str appendString:str1]
无效。
[str appendFormat:str1]
无效。
那么,如何将NSMutableString
附加到另一个NSMutableString
。
@str
是empty string
初始化为nil
。 str1
有一些价值。 [str appendString str1]
返回null
答案 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中使用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
其中str
和str1
被推断为String
类型。