NSString不工作
问题描述:
在我的代码中,我在.h中声明NSString对象,并在.m中合成,我用数组中的字符串对象分配它。但它不起作用。NSString不工作
当我在日志中打印它有时会显示CAlayer类,有时显示NSCFString类对象。有些时候显示UIDevicewhitedevicetype类如何解决这个问题?帮助......
答
你如何将字符串分配给代码中的NSString对象?
你在做这样的事情:
NSString* someString = @"My string";
self.myStringProperty = someString;
哪里myStringProperty是NSString的声明为一个属性。
答
我认为你的记忆被毁了。你可能会发布一些不应该发布的东西。
答
该参考肯定是不好的。你说你将字符串分配给一个属性。这是否意味着在你的头,你有这样的:
@property (assign) NSString* myString;
如果是这样,则明确指出您不打算守住串参考,允许它被dealloced即使你仍持有指针(不是一个参考)。你应该让说两种:
@property (copy) NSString* myString;
@property (retain) NSString* myString;
如果你是指向你在一个阵列中的字符串值,只要该数组发布的所有内容都被释放。如果您没有保留对字符串的引用,它将被解除分配。一旦发生这种情况,指针会将指针存储到未定义的内存中,这些内存将被重用以保存您列出的对象类型。
编辑您的问题以包含代码。 – mbehan 2010-09-09 09:15:11
只是让我给你发送最新的特洛伊木马来看看你的代码。 – Eiko 2010-09-09 09:15:57
这是过度释放的经典症状。如果您需要更具体的帮助,您需要向我们展示一些代码。 – JeremyP 2010-09-09 10:19:14