我有一个填充的数组,我可以在tableview中显示,但我想隐藏3个单元格文本(7个单元格中)。我知道下面的代码是错误的,但在这种情况下我只想在单元格0中显示文本。
<ng-content>
答案 0 :(得分:1)
因为你没有代码,所以我只能用文字描述它应该如何完成。
您需要拥有一系列不想要显示的不需要的文字。
在你的cellForRowAtIndexPath
中,你需要一个for循环,通过animalarray
,并在for循环中,有一个if-else语句来检查是否(unwantedtext) == animalarray),然后cell!.textLabel.text = " "
你需要告诉我代码,以帮助你。
答案 1 :(得分:1)
我会尝试在目标C中帮助你,希望我可以使逻辑清晰,语言差异并不重要。
通常,您在ViewController的下面委托方法中告诉TableView要为每个单元格打印什么。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"];
cell.textLable.text = animalArray[indexPath.row];
return cell;
}
您可以在这里决定使用或不想打印的animalArray中的哪个索引。如果您的要求是静态的,最简单的是对阻塞进行硬编码。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"];
if(!(indexPath.row == self.indexIDontWantToPrint)) {
cell.textLable.text = animalArray[indexPath.row];
}
return cell;
}
如果您不想打印的索引是动态的,请通过说出数组提交给您
您需要替换if(!(indexPath.row == self.indexIDontWantToPrint))
并检查indexPath.row是否在您要忽略的索引数组中。
NSArray有一个方便的containsObject
方法,可以用来检查数组是否包含tableView想要打印的当前索引。注意indexPath.row的类型差异是NSInteger,而NSArray需要携带NSNumber来表示简单的数字。
答案 2 :(得分:0)
添加比jo3birdtalk更有效的逻辑
1)您可以创建一个包含字符串&amp;的对象,而不是使用额外的数组。 Bool。在animalarray
2)从indexpath&amp;中的数组中获取对象检查
if(animal.isShow == YES),如果是,则显示文本,否则隐藏标签或设置空白字符串,无论您需要什么
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"];
Animal * animal = animalArray[indexPath.row];
if(animal.isShow == YES)
{
show the text
}else
{
hide label Or set blank string whatever you requered
}
return cell;
}