我有一个实现 UITableView 的视图。我有一个名为 setData 的方法,它允许我传入 NSMutableArray。一旦我这样做了,我就会调用 [self reloadData]。我的理解是,一旦调用它,所有检查数组和设置表格单元格的函数都应该运行。
我已经放了一些日志语句,还尝试设置断点,但根本没有调用任何代码。想知道我做错了什么。
这是我的 .m 代码。
#import "JornadaKMLList.h"
@implementation JornadaKMLList
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// Initialization code
}
return self;
}
-(void)setData:(NSMutableArray*)value
{
collection = value;
[self reloadData];
}
//table view stuff
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
NSLog(@"this is line 33");
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
NSLog(@"this is line 39");
return [collection count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSLog(@"this is line 43");
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
{
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] ;
}
// Configure the cell...
KmlVO *vo = [collection objectAtIndex:indexPath.row];
cell.textLabel.text = vo->title;
return cell;
}
@end
这是我的 .h 代码
#import <UIKit/UIKit.h>
#import "JornadaKMLList.h"
#import "KmlVO.h"
@interface JornadaKMLList : UITableView <UITableViewDelegate,UITableViewDataSource>
{
NSMutableArray *collection;
}
-(void)setData:(NSMutableArray*)value;
@end