我是iPhone开发的新手。 我正在开发一个我使用单音类的应用程序。 当我创建一个单音类的对象时,它在分析我的代码时给了我内存泄漏。它正在发出消息"对象的潜在泄漏"和"以后不会引用分配的对象"。但我在我的代码中使用该对象。 以下是我创建单音班级对象的代码
- (void)viewDidLoad
{
[super viewDidLoad];
NSLog(@"Inside View");
self.navigationController.navigationBar.topItem.title = @"Menu List";
UIImage *image = [UIImage imageNamed:@"Navigation_bar.png"];
[_bgImage setFrame:CGRectMake(0,-45,320,510)];
[self.navigationController.navigationBar setBackgroundImage:image
forBarMetrics:UIBarMetricsDefault];
[self.tabBarController.tabBar setBackgroundImage:[UIImage imageNamed:@"Tab_bar.png"]];
[self.navigationItem setHidesBackButton:YES];
menuTableView.backgroundColor=[UIColor clearColor];
menuTableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];
_hotelMenu=[SharedHotelMenu sharedInstanceMethod];
_queryFormatter=[[DatabaseQueryFormatter alloc]init];
_isSearchOn=NO;
_searchResult=[[NSMutableArray alloc]init];
_categorySearch.layer.cornerRadius = 19;
_categorySearch.clipsToBounds = YES;
_categorySearch.delegate=self;
UIView *_paddingView=[[UIView alloc] initWithFrame:CGRectMake(0,0,5,10)];
_categorySearch.leftView=_paddingView;
_categorySearch.leftViewMode=UITextFieldViewModeAlways;
[_paddingView release];
UIView *_paddingRightView=[[UIView alloc] initWithFrame:CGRectMake(0,0,30,10)];
_categorySearch.rightView=_paddingRightView;
_categorySearch.rightViewMode=UITextFieldViewModeAlways;
[_paddingRightView release];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(searchBar)
name:UITextFieldTextDidChangeNotification object:_categorySearch];
}
}
我创建单音班级对象为_hotelMenu = [SharedHotelMenu sharedInstanceMethod];
答案 0 :(得分:0)
据我所知,在您的代码中,此行可能会导致内存泄漏
menuTableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];
因为这是@property(nonatomic, retain) UIView *tableFooterView
并且它将保留您的对象,因此保留计数变为2。
使用此
UIView *footerView = [[UIView alloc] initWithFrame:CGRectZero];
menuTableView.tableFooterView = footerView;
[footerView release];