@property(nonatomic, retain) NSString *password;
-(id)init {
...
password=[NSString stringWithFormat:@"%@", [[NSProcessInfo processInfo] globallyUniqueString]];
OR
password=[[NSProcessInfo processInfo] globallyUniqueString];
}我的问题是,在执行过程中,在某个随机点上,密码对象会自动释放。当我使用这两个赋值中的任何一个时,效果是相同的。一旦我放入一个保留,这个问题就不存在了。我确信在流中的任何地方都不会释放password对象--正如我所提到的,它是在一个单例类中。我还检查了类实例是否相同,即使在password对象被释放时也是如此。
请给我任何提示!
发布于 2011-08-23 01:25:42
你分配iVar,而不是属性...因此,如果您不使用setter方法,则不会保留您的对象。
请改用属性:
self.password = ...发布于 2011-08-23 01:36:09
你可以用...
password=[[NSString stringWithFormat:@"%@", [[NSProcessInfo processInfo] globallyUniqueString]] retain];也可以在memory management上查看苹果的文档。我还会在你的代码中设置断点,然后看看你的对象是否会被释放。
https://stackoverflow.com/questions/7151090
复制相似问题