本文共 1936 字,大约阅读时间需要 6 分钟。
学习表视图(Table View)的应用时,自己写了个demo,最后表格出来了,可是滑动时报错了,报错如下:
这是我ViewController.m部分的代码:
1 #import "ViewController.h" 2 3 @interface ViewController () 4 5 @end 6 7 @implementation ViewController 8 { 9 NSArray *tableData;10 }11 12 - (void)viewDidLoad13 {14 [super viewDidLoad];15 // Do any additional setup after loading the view, typically from a nib.16 tableData = [NSArray arrayWithObjects:@"Egg Benedict" , @"Mushroom Risotto" , @"Full Breakfast" , @"Hamburger" ,@"Ham and Egg Sandwich" , @"Creme brelee" , @"white chocolate donut" , @"starbucks coffee" , @"vegetable curry" , @"instant noodle with egg" , @"noodle with bbq pork" , @"japanese noodle" , @"green tea" , @"thai shrimp cake" , @"angry birds cake" , @"ham and cheese panini" , nil];17 //[tableData retain];18 19 }20 21 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section22 {23 return [tableData count];24 25 }26 27 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath28 {29 static NSString *simpleTableIdentifier = @"SimpleTableItem";30 31 UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];32 33 if (cell == nil) {34 cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:simpleTableIdentifier];35 }36 37 //[[cell textLabel] setText:[tableData objectAtIndex:[indexPath row]]];38 cell.textLabel.text = [tableData objectAtIndex:indexPath.row];39 cell.imageView.image = [UIImage imageNamed:@"icon.png"];40 41 42 return cell;43 44 }45 46 - (void)didReceiveMemoryWarning47 {48 [super didReceiveMemoryWarning];49 // Dispose of any resources that can be recreated.50 }51 52 @end
经过反复的测试后,解决办法如下:
在第17行加上:
[tableData retain];
这样就可以解决报错问题了。
本文转自夏雪冬日博客园博客,原文链接:http://www.cnblogs.com/heyonggang/p/3556568.html,如需转载请自行联系原作者