如何用 NSMutableString 附加 NSMutableString?

Posted

技术标签:

【中文标题】如何用 NSMutableString 附加 NSMutableString?【英文标题】:How to append a NSMutableString with a NSMutableString? 【发布时间】:2010-08-30 11:42:53 【问题描述】:
NSMutableString *str, *str1;

//这里分配

我正在使用 [str appendString:str1] 不工作。 [str appendFormat:str1] 不工作。

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

@str 是一个 empty string 初始化为 nilstr1 有一定的价值。 [str appendString str1] 返回null

【问题讨论】:

为了让我们帮助您,我们需要知道在您的情况下“不工作”是什么意思,因为我们的水晶球目前不工作:) 根据 Apples 文档,这两种方法都应该做你想做什么(developer.apple.com/mac/library/documentation/Cocoa/Reference/…:) “不起作用”是什么意思?例外? 不工作意味着无法追加。 alloc方法后,你是调用initWithXXX还是init,来初始化你分配的变量? 请举个例子。调用前后str的值是多少? 【参考方案1】:

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

NSMutableString *str = [NSMutableString string];

那么你的代码就可以工作了。像这样:

[str appendString:str1];

【讨论】:

【参考方案2】:

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

NSMutableString *str, *str1;

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

NSMutableString *sayit = [str appendString:str1];

【讨论】:

那么如何将我的 My NSMutableString 设置为 null。因为我的程序的某些点我想将 str1 设置为空。 也许是时候更准确地解释你到底想要做什么了......顺便说一句,Empty 和 nil 是不同的东西 [NSMutableString string] 创建一个空的可变字符串,即""【参考方案3】:

斯威夫特版本

尽管在 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 类型。

【讨论】:

【参考方案4】:
NSMutableString *mystring = [NSMutableString stringWithFormat:@"pretty"];
    NSMutableString *appending = [NSMutableString stringWithFormat:@"face"];
    [mystring appendString:appending];

为我工作...

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

【讨论】:

以上是关于如何用 NSMutableString 附加 NSMutableString?的主要内容,如果未能解决你的问题,请参考以下文章

如何用verilog设计有限状态机

如何用Android Studio获取SIM卡带字母的ICCID?

如何用理论附加DataPoint?

如何用Verilog设计单个时钟周期的延时?就是说50MHz的外部时钟,希望在赋值的时候实现20ns的延时。。。

如何用maven创建简单的springmvc

NSMutableString appendString 生成一个 SIGABRT