我有一个表视图控制器,FavoritesTableViewController,它有一个可变数组" citiesArray"。当按下一个城市按钮时,它会调用一个方法,该方法将一个对象添加到可变数组中。
[self.citiesArray addObject:@"New York"];
然后记录self.citiesArray的数量以及数组本身,并且看起来工作正常意味着它成功添加了字符串" New York"到阵列。所以现在我有一个填充的可变数组,并希望用它填充表格视图。
这是我的代码似乎无法正常工作。
- (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.citiesArray objectAtIndex:indexPath.row];
return cell;
}
我之后尝试重新加载我的表格视图,但仍然无法正常工作。关于问题是什么的任何想法? 感谢
答案 0 :(得分:1)
您必须添加方法以返回表中的行数:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return self.citiesArray.count;
}
答案 1 :(得分:1)
使用方法:
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
return 1;
}
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
return self.citiesArray.count;
}
当然,如果您未设置表格的datasource
和delegate
属性,则应该执行此操作,例如ViewDidLoad
方法:
- (void)viewDidLoad
{
[super viewDidLoad];
//....Your code....
table.delegate = self;
table.datasource = self;
}