navBar发生内存泄漏 [英] memory leak with navBar
本文介绍了navBar发生内存泄漏的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
能帮我解决内存泄漏吗?
Can you help me please to fix the memory leak ?
#import <Foundation/Foundation.h>
@interface NavBar : NSObject
{
NSString* nav;
}
@property (nonatomic, retain) NSString* nav;
+ (NavBar *) sharedInstance;
@end
#import "NavBar.h"
@implementation NavBar
@synthesize nav;
-(void)dealloc
{
[nav release];
}
+(NavBar *)sharedInstance
{
static NavBar *myInstance = nil;
if (nil == myInstance) {
myInstance = [[[self class] alloc] init];
}
return myInstance;
}
@end
我在这里有泄漏:
- (void) viewWillAppear:(BOOL)animated
{
[NavBar sharedInstance].nav = @"navBar.png";
self.navigationController.navigationBar.barStyle = UIBarStyleDefault;
self.navigationController.navigationBar.tintColor = [UIColor clearColor];
self.navigationController.navigationBar.barStyle = UIBarStyleDefault;
self.navigationController.navigationBar.tintColor = [UIColor colorWithRed:19/255.0 green:140/255.0 blue:130/255.0 alpha:1.0];
[super viewWillAppear:animated];
}
在我的应用程序的委托中:
in the delegate of my app:
@interface UINavigationBar (CustomBackground)
- (void)drawRectCustomBackground:(CGRect)rect;
@end
@implementation UINavigationBar (CustomBackground)
- (void)drawRectCustomBackground:(CGRect)rect
{
if (self.barStyle == UIBarStyleDefault)
{
UIImage *image = [UIImage imageNamed:[NavBarStyles sharedInstance].navStyle];
[image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];
return;
}
[self drawRectCustomBackground:rect];
}
推荐答案
有时,您需要致电
[[NavBar sharedInstance] release];
或等价物.可能正好在您退出之前.
or an equivalent. Probably right before you exit.
这篇关于navBar发生内存泄漏的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文