我正在使用NSString
将NSDictionary
从NSString
复制到本地[[NSString alloc] initWithString:]
,处理它(删除一些字符),然后将其发送到外部对象。
我使用了[[MyObject alloc] initWithString:]
和[myObject setString:]
两种方法;无法工作。
他们都让我的应用程序崩溃;当我在给定区域使用断点时,我得到一个空NSString
;我从NSLog
的开头使用NSString
,直到我将它发送到我的对象;它们都显示了字符串的正确值......
谢谢大家的宝贵意见: - )
答案 0 :(得分:3)
将[[NSString alloc] initWithString:stringBeingCopied]
调用替换为[[NSMutableString alloc] initWithString:stringBeingCopied]
,创建一个可变字符串,而不是一个不可变(“正常”)字符串将阻止setString:
调用使您的应用崩溃
不可变的字符串是不可变的,不响应setString:calls - 它们是NSString mutators。实现创建一个NSMutableString,实现setString:,将允许您修改字符串对象。
答案 1 :(得分:1)
我使用了两种方法[[MyObject alloc] initWithString:]和[myObject 的SetString:];无法工作。
展示你的作品!没有显示更多代码,无法帮助您。特别是,您是如何在initWithString:
课程上实施setString:
和MyObject
的?
答案 2 :(得分:0)
字符串通常是不可变的。要修改字符串,需要NSMutableString。可以执行[string mutableCopy]
,也可以在initWithString
方法中执行此操作。也许你已经这样做了,但请尽可能发布你的代码。如果没有它,我很难提供任何进一步的帮助......