首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSString - stringWithFormat自动发布

NSString - stringWithFormat自动发布
EN

Stack Overflow用户
提问于 2011-08-23 01:22:49
回答 2查看 724关注 0票数 0
代码语言:javascript
复制
@property(nonatomic, retain) NSString *password;

-(id)init {
...
password=[NSString stringWithFormat:@"%@", [[NSProcessInfo processInfo] globallyUniqueString]];
OR
password=[[NSProcessInfo processInfo] globallyUniqueString];
}

我的问题是,在执行过程中,在某个随机点上,密码对象会自动释放。当我使用这两个赋值中的任何一个时,效果是相同的。一旦我放入一个保留,这个问题就不存在了。我确信在流中的任何地方都不会释放password对象--正如我所提到的,它是在一个单例类中。我还检查了类实例是否相同,即使在password对象被释放时也是如此。

请给我任何提示!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-08-23 01:25:42

你分配iVar,而不是属性...因此,如果您不使用setter方法,则不会保留您的对象。

请改用属性:

代码语言:javascript
复制
self.password = ...
票数 1
EN

Stack Overflow用户

发布于 2011-08-23 01:36:09

你可以用...

代码语言:javascript
复制
password=[[NSString stringWithFormat:@"%@", [[NSProcessInfo processInfo] globallyUniqueString]] retain];

也可以在memory management上查看苹果的文档。我还会在你的代码中设置断点,然后看看你的对象是否会被释放。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7151090

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档