所以它真的很奇怪......我有一个名为ListEventsViewController的ViewController
在头文件中:
@interface ListEventsViewController : UIViewController <UITableViewDelegate, UITableViewDataSource>
@property (weak, nonatomic) IBOutlet UITableView *eventsTable;
@property (strong, nonatomic) NSArray *events;
@end
Run Code Online (Sandbox Code Playgroud)
在实现中,我将调用以下几个强制函数:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
return [events count];
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
return 1;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
UITableViewCell *cell = nil;
cell = [eventsTable dequeueReusableCellWithIdentifier:@"eventCell"];
if(!cell){
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"eventCell"];
}
NSString *textLabelTitle = [[events objectAtIndex:indexPath.row] objectForKey:@"name"];
NSString *textLabelDetail = [[events objectAtIndex:indexPath.row] objectForKey:@"date"];
//cell.imageView.image = someimage;
NSLog(@"Text Label Title: %@", textLabelTitle);
NSLog(@"Text Label Detail: %@", textLabelDetail);
cell.textLabel.text = textLabelTitle;
cell.detailTextLabel.text = textLabelDetail;
return cell;
}
Run Code Online (Sandbox Code Playgroud)
问题是函数 - (UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath {未被调用,因此不会填充单元格.也没有分配细胞数量.可能是什么导致了这个?
它看起来与我联系了一张h和IB的照片. 
您在屏幕截图中说明了您已将表链接到其IBOutlet,但您尚未将表视图的委托或数据源链接到控制器,因此您的表委托了cellForRowAtIndex不会被调用的方法.链接这些应该可以解决您的问题.
| 归档时间: |
|
| 查看次数: |
16882 次 |
| 最近记录: |