【发布时间】:2012-09-05 23:15:44
【问题描述】:
所以它真的很奇怪......我有一个名为 ListEventsViewController 的 ViewController
在头文件中:
@interface ListEventsViewController : UIViewController <UITableViewDelegate, UITableViewDataSource>
@property (weak, nonatomic) IBOutlet UITableView *eventsTable;
@property (strong, nonatomic) NSArray *events;
@end
在实现中,我在下面调用了几乎强制性的函数:
- (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;
}
问题是函数 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ 没有被调用,因此单元格没有被填充。也没有分配单元格的数量。这可能是什么原因造成的?
我觉得这是一张 h 和 IB 的图片。
【问题讨论】:
-
您确定您已在 IB 中或以编程方式连接了委托属性吗?
-
IB。看起来和我有关。添加了一张图片,这样您就可以检查以防万一:)。
-
正如@Rickay 所说,您的 IB 图片显示您尚未连接到数据源并将您的 eventsTable 委托给您的 ListEventsViewController。
-
哦,当然你也必须连接数据源!嗯....那行得通...我到了那里;)。干杯伙计们+!你们俩。
标签: ios uitableview