如何用 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
初始化为 nil
。 str1
有一定的价值。 [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
其中str
和str1
被推断为String
类型。
【讨论】:
【参考方案4】:NSMutableString *mystring = [NSMutableString stringWithFormat:@"pretty"];
NSMutableString *appending = [NSMutableString stringWithFormat:@"face"];
[mystring appendString:appending];
为我工作...
您确定变量已分配(正确吗?)?没有拼写错误?
【讨论】:
以上是关于如何用 NSMutableString 附加 NSMutableString?的主要内容,如果未能解决你的问题,请参考以下文章
如何用Android Studio获取SIM卡带字母的ICCID?