0

我正在构建一个顶部带有自定义标签栏的 iOS 应用程序。当我点击主页图标时,我希望它直接在标签栏下方显示一个表格视图。目前我的代码就是这样做的,但是数据没有正确显示。如果我将单元格限制为 4 个或更少(在 numberFoRowsInSection 中),数据将显示,如果我有 15 个单元格,数据会显示一瞬间然后消失。我一直在到处查看教程,一切似乎都是正确的,数据将在独立视图中正确显示(就像我在故事板中创建了一个类似于单视图应用程序并制作了初始视图)。我不知道我错在哪里。下面是我在 tableviewContoller 类的实现文件中的代码:

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{

// Return the number of rows in the section.
return 4;//this works... but change to 15 it doesnt work
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath   *)indexPath
{
  PrayerCell *cell = [tableView dequeueReusableCellWithIdentifier:@"CustomCell"];
if (cell == nil) {
    NSLog(@"cell is Nil"); //never hits this
    cell = [[PrayerCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"CustomCell"];
}

//the data showing is the correct data that i want to see
cell.dName.text = [[news objectAtIndex:indexPath.row] objectForKey:@"displayname"];
cell.priority.text = [[news objectAtIndex:indexPath.row]objectForKey:@"priority"];
cell.dateTime.text = [[news objectAtIndex:indexPath.row] objectForKey:@"datetime"];
cell.numPraying.text = @"2 praying";
cell.requestPreview.text = [[news objectAtIndex:indexPath.row] objectForKey:@"request"];

NSLog(@"created cell") //verify cell was made

return cell;
}

这是我的 PrayerCell.H 文件

@interface PrayerCell : UITableViewCell

@property (weak, nonatomic)IBOutlet UILabel *requestPreview;
@property (weak, nonatomic)IBOutlet UILabel *dName;
@property (weak, nonatomic)IBOutlet UILabel *dateTime;
@property (weak, nonatomic)IBOutlet UILabel *numPraying;
@property (weak, nonatomic)IBOutlet UILabel *priority;

@end

我没有对prayerCell.M 文件进行任何更改

如果您需要我发布任何其他代码块/屏幕截图,请告诉我。

4

1 回答 1

0

单元格不应该是 ivar,而应该是局部变量。您还需要在tableView:cellForRowAtIndexPath:方法中将单元格出列:

UITableViewCell* cell = [tableView dequeueReusableCellWithIdentifier:@"CustomCell"];
于 2013-06-27T18:07:23.687 回答