作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 Utilities 类中有一个静态方法:
+ (Division *) getDefaultDivision
{
Division *defaultDivision = [[Division alloc] init];
defaultDivision.Id = 0;
defaultDivision.name = @"Accounting";
defaultDivision.slug = @"accounting";
return defaultDivision;
}
在我的 ViewController 中我做了类似的事情:
Division *div = [[Division alloc] init];
div = [Utilities getDefaultDivision];
但是当我分析时,它显示“在第 x 行分配并存储到 defaultDivision 中的对象的潜在泄漏”。
如果我使用:
Division *defaultDivision = [[[Division alloc] init] autorelease];
它能用一次,但当我再次使用它时,它就崩溃了。
只是想知道在这里做什么才是正确的?
最佳答案
如果这是你的真实代码;
Division *div = [[Division alloc] init];
div = [Utilities getDefaultDivision];
您首先分配一个分区并将其保存在 div 中,然后您从 getDefaultDivision 获得一个新分区并将其存储在 div 中而不释放第一个分区。
关于iOS内存管理一头雾水,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8810741/
我是一名优秀的程序员,十分优秀!