gpt4 book ai didi

iphone - navBar 内存泄漏

转载 作者:行者123 更新时间:2023-12-03 21:19:43 26 4
gpt4 key购买 nike

你能帮我解决内存泄漏问题吗?

#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];
}

在我的应用程序的委托(delegate)中:

@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];

或同等内容。可能就在你退出之前。

关于iphone - navBar 内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6004946/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com