我尝试在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中显示数组中的数据。 如果数组是本地的 - 则显示数据
你能告诉我该怎么办? 先谢谢你。
答案 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()
。