我有一个UITableView
,命名tblParentComments
在一个UIView
类CBox
中。
我已经明确地将我的视图设置为我的表视图的数据源和委托,并且我的视图确实实现了这些协议。该方法tableView:numberOfRowsInSection:
确实被调用并返回一个非零值。但是该函数tableView:cellForRowAtIndexPath:
永远不会被调用。
我注意到,如果我将方法tableView:cellForRowAtIndexPath:
放在注释中,Xcode 不会停止编译,并出现“tableView:cellForRowAtIndexPath:
需要”之类的错误——应用程序只是运行并显示一个空表。
我不明白。有任何想法吗?这是我的观点的代码:
接口 CBox.h
@interface CBox : UIView <UITableViewDelegate, UITableViewDataSource>
在实现文件中:
- (id) initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
tblParentComments = [[UITableView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, self.frame.size.width, frame.size.height)];
tblParentComments.delegate = self;
tblParentComments.dataSource = self;
//tblParentComments.userInteractionEnabled = NO;
tblParentComments.backgroundColor = [UIColor clearColor];
tblParentComments.separatorStyle = UITableViewCellSeparatorStyleNone;
tblParentComments.bounces = NO;
[self addSubview:tblParentComments];
}
return self;
}
#pragma mark - UITableViewDelegate + UITableViewDatasource
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
NSLog(@"num of rows = %d", parentComents.count);
return 1; // I set a non-zero value for test
}
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
.... // I set a breakpoint here, never been called here
}