我只是在UITableView
中创建一个简单的UIViewController
。
·H
#import <UIKit/UIKit.h>
@interface RootController : UIViewController <UITableViewDataSource>
{
NSMutableArray *_tableData;
UITableView *_tableView;
}
@end
的.m
#import "RootController.h"
@implementation RootController
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
if (!_tableData) {
_tableData = [[NSMutableArray alloc] initWithCapacity:20];
for (int i = 0; i < 50; i++) {
[_tableData addObject:[NSString stringWithFormat:@"%d", i]];
}
}
}
return self;
}
- (void)dealloc
{
[_tableView release];
[_tableData release];
[super dealloc];
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
}
- (void)loadView
{
UIView *view = [[UIView alloc] initWithFrame:[UIScreen mainScreen].bounds];
self.view = view;
[view release];
self.view.backgroundColor = [UIColor whiteColor];
if (!_tableView) {
_tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 320, 460)];
_tableView.dataSource = self;
}
[self.view addSubview:_tableView];
}
- (void)viewDidUnload
{
[super viewDidUnload];
// Release any retained subviews of the main view.
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [_tableData count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *cellIdentifier = @"TableViewCellIdentifier";
UITableViewCell *cell = nil;
cell = [_tableView dequeueReusableCellWithIdentifier:cellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier] autorelease];
}
cell.textLabel.text = [_tableData objectAtIndex:indexPath.row];
return cell;
}
@end
当我滚动UITableView
内存时,我用仪器来检测内存泄漏
泄漏发生了。
我使用Xcode 4.3.1和iOS5.1(iPod touch4)。 有人有这个问题吗?
答案 0 :(得分:1)
如果查看“负责的库”列,您会发现罪魁祸首不是您的代码。泄漏很小,你可以放心地忽略它们。