使用故事板的UItableView空网格

时间:2014-01-18 21:22:25

标签: ios objective-c uitableview storyboard xcode5

我尝试在tableview中显示数组的对象。 这是一个单屏幕应用程序,我正在使用故事板。 运行时 - tableview显示为空网格。不显示对象的数据。什么可能导致这个? 有2个必需的方法 numberOfRowsInSection cellForRowAtIndexPath 我怀疑最后一个。 .h文件包含以下行:

@interface MYViewController : UIViewController  <UITableViewDataSource, UITableViewDelegate> 

我设置了代表&amp;数据源通过您建议的代码。还是空的网格。

这是我的实施:      - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {return [listRecipes.recipeArray count]; }

-(UITableViewCell )tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString cellIdentifier = @"ListCellIdentifier"; MYCustomListCell* listCell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier]; NSString* dataString = listRecipes.recipeArray[indexPath.row]; listCell.listName.text = dataString; listCell.imageView.image = [UIImage imageNamed:dataString]; return listCell; } 

我尝试在MVC中显示数组中的数据。 如果数组是本地的 - 则显示数据

你能告诉我该怎么办? 先谢谢你。

2 个答案:

答案 0 :(得分:1)

始终记得连接表的委托和数据源。

作为符合这两个协议的UIViewController的UIElement是不足以让Xcode假设UIViewController应该是表的委托和/或数据源。

右键单击您的tableview,从delegate&amp;数据源到你的UIViewController。

您也可以通过以下方式以编程方式设置这些:

self.table.datasource = self;
self.table.delegate = self;

如果您在此之后仍然遇到问题,则必须向我们展示您如何实施数据源协议方法。

答案 1 :(得分:1)

检查tableview委托和数据源的初始化是否在 recipeArray 初始化之前。在这种情况下,在将项目添加到 recipeArray 后,您必须tableView.reload()