ios - 填充我的 UITableView 时如何跳过特定字符串

标签 ios objective-c uitableview

我正在从从服务器接收的数据中填充一个表格 View 。数据是给定时间范围内的用户事件列表。一种这样的事件是“登录”。我不希望用这个字符串填充我的表格 View ,但我不确定在填充我的表格 View 时如何跳过它。

这是我填充单元格的方式

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{        static NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
    @try{

        NSManagedObject *object = [self.fetchedResultsController objectAtIndexPath:indexPath];
        NSString *action = [object valueForKey:@"theActionName"];

        if ([action isEqualtoString:@"Login"]) {

            return cell;
        }

        return cell;

    }@catch (NSException *ex) {
        UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
    return cell;
    }
}

如您所见,我尝试使用 return cell但是您可能知道,当显示表格时,它会给我一个空白单元格。我确信这有一行简单的代码,但我对我使用的搜索词一无所知。有人可以请教我!谢谢!

附言您可能会认为我没有在任何单元格中添加任何内容,但我提取了一堆代码以保持简短。

更新:
感谢您对“isEqualtoString:”的提醒:“isEqual”一切正常,但我改变了它,因为我收到了很多这样做的建议。但这不是我要问的。

更清楚地说,如果我有一个包含以下术语的数组: View 、 View 、登录、 View 。当我的表格 View 被填充时,我会有 4 个单元格说;查看,查看,登录,查看。我只是想忽略登录一词,以便我有 3 个单元格都表示 View 。谢谢!

最佳答案

有很多方法可以做到这一点。

我相信 UITabelView应该显示它的数据源(这里的数据源是 self.fetchedResultsController )包含的内容。

你可以做的是创建另一个NSArray来自 self.fetchedResultsController其中不包含此对象。

试试这个:

NSMutableArray *newSource = [[NSMutableArray alloc] init];

        for(int i = 0; i < self.fetchedResultsController.count ; i++)
        {
            NSManagedObject *object = [self.fetchedResultsController objectAtIndexPath:indexPath];
            NSString *action = [object valueForKey:@"theActionName"];

            if (![action isEqual:@"Login"])
            {
                [newSource addObject:action];
            }
        }

        [tableView reloadData];

现在使用 newSource 而不是 self.fetchedResultsController

你可能认为多用一个数组不好。但是相信它比使用带有条件的相同数组要容易得多。当您使用 UITableView 执行某些操作时,您不必担心这种情况。就像使用 indexpath 删除对象一样。

关于ios - 填充我的 UITableView 时如何跳过特定字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18605541/

相关文章:

ios - 在框架和使用框架的应用程序之间使用 Google maps sdk

objective-c - 我怎么知道应用程序是从苹果应用程序商店还是 OSX 中的其他商店安装的

ios - 在 NSString 中搜索方括号

ios - UISearchController 的 searchBar 没有填满整个宽度

ios - 是否有从 firebase 实时数据库中获取 n 个元素的功能?

ios - 在 TableCells 中重新定位时出现问题

ios - Swift 在转换色调后恢复原始图像颜色

ios - 在没有wifi的iOS7中静音通知工作很奇怪

ios - 观察者、通知、委托(delegate) swift ios8

objective-c - NSCollectionView 不显示其内容