我想覆盖我的类MapsLocationView中的retain和release方法,以便了解我在哪里获得额外的版本。请帮我正确地做到这一点
答案 0 :(得分:6)
这只是在Objective-C中执行你在其他地方所做的事情。
- (oneway void)release;
{
[super release];
}
- (id)retain;
{
return [super retain];
}
答案 1 :(得分:1)
这不是正确的方法,您应该使用泄漏仪器或代码分析器来查找额外版本的来源
答案 2 :(得分:1)
对我进行释放保留调查的最佳方式是:
'MapsLocationView.h'
@interface MapsLocationView : UIView {
int releaseCount;
}
'MapsLocationView.m'
- (void)awakeFromNib {
releaseCount = 0;
}
-(id)retain {
NSLog(@"retain count+++:%d", [self retainCount]);
return [super retain];
}
- (oneway void)release {
releaseCount++;
NSLog(@"releaseCount---:%d", releaseCount);
[super release];
}
我还发现如果你用鼠标右键点击方法,你可以跳到它的定义:)