突然“物体的潜在泄漏”
Posted
技术标签:
【中文标题】突然“物体的潜在泄漏”【英文标题】:Suddenly "Potential leak of an object" 【发布时间】:2013-03-24 21:15:30 【问题描述】:我一直在这里使用 xcode 构建和做各种事情。它从不抱怨“泄漏问题”。自从我尝试插入 ShareKit 后,它才刚刚开始。
所以.. 我删除了 ShareKit 的所有痕迹,出现了 11 个“对象的潜在泄漏”条目。
这是一个使用 textView 发生的示例:
文件.h
#import <UIKit/UIKit.h>
#import "iAd/iAd.h"
#import "Oracao.h"
#import <QuartzCore/QuartzCore.h>
@interface DetalhesOracaoViewController : UIViewController
Cclass *cclass;
@property (nonatomic, retain) Cclass *cclass;
@property (nonatomic, retain) IBOutlet UITextView *tWeekDay;
@end
文件.m
...
@synthesize tWeekDay;
- (void)viewDidLoad
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
self.tWeekDay.text = [NSString stringWithFormat:@"%d° day - %@", cclass.dia, cclass.dia_semana];
#pragma mark dealloc
-(void)dealloc
[tWeekDay release];
[super dealloc];
对可以做什么有任何想法吗? 谢谢!
编辑:
这是另一个我无法理解的泄漏:
【问题讨论】:
哪里有泄漏警告?分析仪可以指出来。 【参考方案1】:我认为你保留分配的UITextView
,它首先使用alloc
,而不是addSubview
,而不是retain
。在创建代码时共享代码可能会更有把握。
所以你应该平衡一下
试试:
@property (nonatomic, assign) IBOutlet UITextView *tWeekDay;
或添加
-(void)dealloc
[tWeekDay removeFromSuperview];
[tWeekDay release];
[super dealloc];
【讨论】:
而对象只是放在XIB上,然后关联@property
,然后关联@synthesize
。
您不应该显式调用[super dealloc]
,编译器会为您处理它,请参阅此相关问题***.com/questions/7292119/…
您也可以尝试将属性声明中的assign
更改为strong
或weak
,assign 不应该用于指针。 @RickOn
大声笑我注意到这个问题已经有两年多了。 :D 嗯,嗯。以上是关于突然“物体的潜在泄漏”的主要内容,如果未能解决你的问题,请参考以下文章