UITableView不会显示数据
我现在很迷路,不知道问题出在哪里。UITableView不会显示数据
我创建了一个单视图应用程序(具有ARC &故事板)中,加入一的tableview到MAINVIEW,它的委托和数据源设置为我的ViewController和实施
- (NSInteger) tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return [self.games count];
}
- (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell"];
if(cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"Cell"];
}
cell.textLabel.text = [self.games objectAtIndex:[indexPath row]];
return cell;
}
作为协议的方法。
self.games
是一个带有一些NSStrings的数组。 当我构建并运行应用程序时,出现一个空的TableView ...
我在做什么错了?
您是否将您的tableView的数据源设置为委托源&?
您需要使您的课程符合UITableViewDelegate
和UITableViewDataSource
协议。 (cellForRowAtIndexPath:
在UITableViewDataSource
协议)
通过在.h
文件中使用尖括号中的类接口定义,即这样做:
@interface myViewController : UIViewController <UITableViewDelegate, UITableViewDataSource> {...}
在
.m
文件
,那么你需要设置的委托文件的所有者tableView和dataSource。这是这样做的 -
[tableView setDelegate:self];
[tableView setDataSource:self];
给这个镜头。
您是否尝试使游戏属性强而不弱?我对ARC不熟悉,但似乎在您使用它之前,您的属性可能会设置为零。
我看着弧有点,并从我的理解,游戏属性应该是强大的。你指向一个自动释放数组,当你做的那个方法结束时,该数组可以被释放并且游戏属性被设置为零。 – Darren 2011-12-23 00:38:12
我想你错过了这段代码。
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1;
}
'cell.textLabel.text = @“这是正常的测试文本”'起初尝试that.If它的工作原理那么问题是您的数组既不在'tableview'如果没有作品。首先检查一下,然后告诉我问题在哪里? – Emon 2011-12-22 10:00:05
它真的和我的阵列有关。 我设置'numberOfRowInSection'只返回5,你建议和它的工作。 我正在初始化我的数组,如下所示:'self.games = [[NSArray alloc] initWithObjects:@“Red”,@“Green”, @“Blue”,@“Indigo”,@“Violet”,nil] ;' (和它的一个弱的非原子性质),那怎么会不起作用? – tonekk 2011-12-22 10:21:19
其实我想知道问题在哪里,'self.games'Array问题或'tableview'问题。根据我对你的问题,你有最终结果吗? '这个正常的测试文本'是在tableview单元格中打印的吗? – Emon 2011-12-22 11:11:10