首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

根据条件在同一UITableView中显示不同的数据集

是一种常见的需求,可以通过以下步骤来实现:

  1. 创建UITableView并设置数据源和代理。
  2. 定义不同的数据集,可以是不同的数组或字典,每个数据集对应不同的条件。
  3. 根据条件切换数据集,可以通过一个变量或者枚举来表示当前的条件。
  4. 在UITableView的数据源方法中根据当前条件返回对应的数据集的数量和内容。
  5. 在UITableView的代理方法中根据当前条件设置不同的样式或行为。

下面是一个示例代码:

代码语言:swift
复制
import UIKit

class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
    
    @IBOutlet weak var tableView: UITableView!
    
    enum Condition {
        case condition1
        case condition2
    }
    
    var currentCondition: Condition = .condition1
    var data1: [String] = ["Data 1-1", "Data 1-2", "Data 1-3"]
    var data2: [String] = ["Data 2-1", "Data 2-2", "Data 2-3"]
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        tableView.dataSource = self
        tableView.delegate = self
    }
    
    // 切换条件
    func switchCondition() {
        if currentCondition == .condition1 {
            currentCondition = .condition2
        } else {
            currentCondition = .condition1
        }
        
        tableView.reloadData()
    }
    
    // UITableViewDataSource
    
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        switch currentCondition {
        case .condition1:
            return data1.count
        case .condition2:
            return data2.count
        }
    }
    
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath)
        
        switch currentCondition {
        case .condition1:
            cell.textLabel?.text = data1[indexPath.row]
        case .condition2:
            cell.textLabel?.text = data2[indexPath.row]
        }
        
        return cell
    }
    
    // UITableViewDelegate
    
    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        // 处理选中行的操作
    }
}

在上述示例中,我们通过一个枚举类型Condition表示不同的条件,通过currentCondition变量来表示当前的条件。根据当前条件,在数据源方法tableView(_:numberOfRowsInSection:)tableView(_:cellForRowAt:)中返回对应的数据集的数量和内容。在切换条件时,调用switchCondition()方法并重新加载表格数据tableView.reloadData()

这样,根据条件在同一UITableView中显示不同的数据集就可以实现了。根据具体的业务需求,你可以根据这个示例进行修改和扩展。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

浅谈 Glide - BitmapPool 存储时机 & 解答 ViewTarget 同一View显示不同图片时,总用同一个 Bitmap 引用原因

Glide 使用默认Targer方式下,同一个 View 加载不同 URL 图片时候,返回 Bitmap 引用地址是一样,但图片像素不一样。...之所要保存它,是因为这个APP要实现多开,每一个页面其对应有一个二维码图片,每一个二维码图片 bitmap 是不同,这样切换时候,就可以对应显示出属于当前页面的 bitmap。...如果单独存 Bitmap,这样APP中切换页面的时候,其实也就是切换数据,更新数据即可。 结合上面的语言来看,那么上面代码应该是没问题。...glide 默认加载形式 Target 都继承了 ViewTarget SimpleTarget 没有继承 ViewTarget glide 每次请求开始时候会去调用 target.getRequest...最后加载图片并解码完成后,在从 BitmapPool 寻找缓存时候,就能找到上面的缓存,擦除像素,加入新图片像素,最终返回 Bitmap 其中第4点就是 BitmapPool 存储时机。

1.4K100
  • 单细胞亚群标记基因可以迁移不同数据

    首先处理GSE162610数据 可以看到多个分组样品里面,巨噬细胞和小胶质细胞都蛮清晰界限: 巨噬细胞和小胶质细胞都蛮清晰界限 不知道为什么我自己处理后巨噬细胞和小胶质细胞界限并没有作者文章给出来图表那样足够清晰...降维聚类分群后,很容易根据文献里面的标记基因给出来各个亚群生物学名字,然后对不同亚群,可以找这个数据里面的特异性各个亚群高表达量基因作为其标记基因: 特异性各个亚群高表达量基因 接下来我就在思考...,这样实验设计非常多单细胞数据都可以看到,因为小鼠模型里面取脑部进行单细胞测序是很多疾病首选。...接下来把GSE162610基因去GSE182803进行可视化 GSE182803 数据工作目录下面, 运行如下行代码: rm(list=ls()) library(Seurat) library...: 仍然是具有比较清晰分界线 说明 巨噬细胞和小胶质细胞各自相对标记基因在不同数据都是具有可区分能力

    1.2K50

    使用ScottPlot库.NET WinForms快速实现大型数据交互式显示

    前言 .NET应用开发数据交互式显示是一个非常常见功能,如需要创建折线图、柱状图、饼图、散点图等不同类型图表将数据呈现出来,帮助人们更好地理解数据、发现规律,并支持决策和沟通。...本文我们将一起来学习一下如何使用ScottPlot库.NET WinForms快速实现大型数据交互式显示。...ScottPlot类库介绍 ScottPlot是一个免费、开源(采用MIT许可证)强大.NET交互式绘图库,能够轻松地实现大型数据交互式显示。...使用几行代码即可快速创建折线图、柱状图、饼图、散点图等不同类型图表。...for (int i = 0; i < length; i++) { getDate[i] = random.Next(1, 100); //使用同一

    35110

    nuScenes数据OpenPCDet使用及其获取

    下载数据 从官方网站上下载数据NuScenes 3D object detection dataset,没注册需要注册后下载。...注意: 如果觉得数据下载或者创建data infos有难度,可以参考本文下方 5. 3. 数据组织结构 下载好数据后按照文件结构解压放置。...其OpenPCDet数据结构及其位置如下,根据自己使用数据是v1.0-trainval,还是v1.0-mini来修改。...创建data infos 根据数据选择 python -m pcdet.datasets.nuscenes.nuscenes_dataset --func create_nuscenes_infos \...数据获取新途径 如果觉得数据下载或者创建data infos有难度,可以考虑使用本人处理好数据 v1.0-mini v1.0-trainval 数据待更新… 其主要存放结构为 │── v1.0

    5.4K10

    Excel公式技巧94:不同工作表查找数据

    很多时候,我们都需要从工作簿各工作表中提取数据信息。如果你在给工作表命名时遵循一定规则,那么可以将VLOOKUP函数与INDIRECT函数结合使用,以从不同工作表中提取数据。...假如有一张包含各种客户销售数据表,并且每个月都会收到一张新工作表。这里,给工作表选择命名规则时要保持一致。...汇总表上,我们希望从每个月份工作表查找给客户XYZ销售额。假设你单元格区域B3:D3输入有日期,包括2020年1月、2020年2月、2020年3月,单元格A4输入有客户名称。...每个月销售表结构是列A是客户名称,列B是销售额。...当你有多个统一结构数据源工作表,并需要从中提取数据时,本文介绍技巧尤其有用。 注:本文整理自vlookupweek.wordpress.com,供有兴趣朋友参考。 undefined

    13K10

    PyTorch构建高效自定义数据

    这个简单更改显示了我们可以从PyTorchDataset类获得各种好处。例如,我们可以生成多个不同数据并使用这些值,而不必像在NumPy那样,考虑编写新类或创建许多难以理解矩阵。...张量(tensor)和其他类型 为了进一步探索不同类型数据DataLoader是如何加载,我们将更新我们先前模拟数字数据,以产生两对张量数据数据集中每个数字后4个数字张量,以及加入一些随机噪音张量...您可能已经看到过这种情况,但现实是,文本数据不同样本之间很少有相同长度。结果,DataLoader尝试批量处理多个不同长度名称张量,这在张量格式是不可能,因为NumPy数组也是如此。...截短长名称或用空字符来填充短名称可以使所有名称格式正确,并具有相同输出张量大小,从而可以进行批处理。不利一面是,根据任务不同,空字符可能是有害,因为它不能代表原始数据。...测试一种方法是为训练数据和测试数据提供不同data_root,并在运行时保留两个数据变量(另外还有两个数据加载器),尤其是训练后立即进行测试情况下。

    3.5K20

    怎么把12个不同df数据全部放到同一个表同一个sheet数据间隔2行空格?(下篇)

    一、前言 前几天Python最强王者交流群【哎呦喂 是豆子~】问了一个Pandas实战问题,一起来看看吧。问题描述: 大佬们 请问下 这个怎么实现?...有12个不同df数据怎么把12个df数据全部放到同一个表同一个sheet 每个df数据之间隔2行空格。 而且这12个df表格不一样 完全不一样12个数据 为了方便看 才放在一起。...部分df数据可能涉及二三十行 然后我把数字调高还是会出现数据叠在一起情况? 二、实现过程 这里【隔壁山楂】给了一个指导:前面写好没有删,你用是追加写入之前已经写好表格,你说下你想法。...当然了,还有一个更好方法,如下图所示: 顺利地解决了粉丝问题。希望大家后面再遇到类似的问题,可以从这篇文章得到启发。 三、总结 大家好,我是皮皮。...这篇文章主要盘点了一个Pandas实战问题,文中针对该问题,给出了具体解析和代码实现,帮助粉丝顺利解决了问题。

    13410

    VBA实战技巧19:根据用户工作表选择来隐藏显示功能区剪贴板组

    excelperfect 有时候,我们可能想根据用户工作表选择来决定隐藏或者显示功能区选项卡特定组,避免用户随意使用某些功能而破坏我们工作表结构。 下面,我们通过一个示例来演示。...我们想让用户选择工作表列B任意单元格时,隐藏“开始”选项卡“剪贴板”组,而当用户选择其他单元格时,该组又重新显示,如下图1所示。 ?...图1:当用户选择单元格列B时,“剪贴板”组隐藏,处于其他单元格时,“剪贴板”组显示 首先,我们新建一个工作簿并保存。...图2:Custom UI Editor For Microsoft Office编辑输入XML 重新打开工作簿,按Alt+F11键打开VBA编辑器,插入一个标准模块,输入下面的代码: Public...) InRange =Not interSectRange Is Nothing Set interSectRange = Nothing End Function 双击工程资源管理器

    4.1K10

    ANFD-HLA不同人群频率数据

    研究SNP时,我们有类似1000G,HapMap, Exac 等数据库,提供了不同人群频率信息。对于HLA研究而言,也有存储频率信息数据库-ANFD。...,其中记录了allel, haplotype, genotype 3种格式信息,最关键是,提供了不同人群频率信息。...Allel 不同人群频率 通过该数据检索功能,可以查询HLA Allel不同人群频率分布,网址如下 http://www.allelefrequencies.net/hla6006a.asp...2. haplotype 不同人群频率 由于HLA基因簇紧密连锁性,除了单个Allel频率外,相关单倍型频率也是需要关注。...上述条件检索结果如下 ? 通过ANFD数据库,我们可以方便得到HLAAllel和haplotype人群频率信息,除此之外,官网还提供了许多其他功能,有待进一步学习和使用。

    1.3K20

    MNIST数据上使用PytorchAutoencoder进行维度操作

    这将有助于更好地理解并帮助将来为任何ML问题建立直觉。 ? 首先构建一个简单自动编码器来压缩MNIST数据。使用自动编码器,通过编码器传递输入数据,该编码器对输入进行压缩表示。...为编码器和解码器构建简单网络架构,以了解自动编码器。 总是首先导入我们库并获取数据。...用于数据加载子进程数 每批加载多少个样品 准备数据加载器,现在如果自己想要尝试自动编码器数据,则需要创建一个特定于此目的数据加载器。...现在对于那些对编码维度(encoding_dim)有点混淆的人,将其视为输入和输出之间中间维度,可根据需要进行操作,但其大小必须保持输入和输出维度之间。...检查结果: 获得一批测试图像 获取样本输出 准备要显示图像 输出大小调整为一批图像 当它是requires_grad输出时使用detach 绘制前十个输入图像,然后重建图像 顶行输入图像,底部输入重建

    3.5K20

    Python 大数据正态分布应用(附源码)

    前言 阅读今天分享内容之前,我们先来简单了解下关于数学部分统计学及概率知识。...通过下图所示,可初步了解下正态分布图分布状况。 图中所示百分比即数据落入该区间内概率大小,由图可见,正负一倍sigmam 内,该区间概率是最大。...如下图所示: Python 实现上下边缘值计算 需求背景 公司网站上某个指标数据需要每天检查下展示给用户看到数据是否正常,且这个数据每天都会随实际线下营业情况而不同,所以不能简单判断是否为一固定值...、all_data_list:数据列表,相当于Pythonlist (4)、singal_data:all_data_list单个元素 下图为 excel 大量数据: 重点代码行解读 Line3...:对 list 所有数据进行反转,且由小到大排序 Line13-17:目的是将 list 除了为“nan”数据全部放置于另一个list Line20-24:利用numpy函数求出箱型图中四分之一和四分之三分位

    1.6K20

    神经反馈任务同时进行EEG-fMRI,多模态数据集成大脑成像数据

    最近一些研究,显示了结合不同成像技术来实现更具体自我调节潜力,结合两种互补方式如fMRI和EEG展现了诱人前景。功能磁共振成像具有良好空间分辨率(~mm),但成像速度较慢。...XP2进行NF训练期间平均EEG ERD时频图(N = 18个受试者) 据研究人员表示,神经网络循环中同时进行脑电图-功能磁共振成像只有另一个研究小组,用于训练情绪自我调节:因此,我们在这里分享和描述数据...它由64通道脑电图(扩展10-20系统)和功能性核磁共振数据同时获得一个运动图像NF任务,辅以结构核磁共振扫描。两项研究中进行了录音。...它由在运动想象NF任务期间同时获取64通道EEG(扩展10–20系统)和fMRI数据组成,并辅以结构MRI扫描。两项研究中进行了记录。...(b)显示数据XP2所有受试者学习步骤和测试步骤估计fMRI-NF评分和fMRI-NF评分之间相关性中位数和四分位数。也显示了仅根据EEG信号估算双峰EEG-fMRI-NF评分结果。

    1.9K20

    优雅处理网络数据,你真的会吗?不如看看这篇.

    案例分享 现代工作生活,手机早已不是单纯通信工具了,它更像是一个办公,娱乐,消费终端,潜移默化成为了我们生活一部分。...所以作为 iOS 开发者我们,日常开发,也早已不是处理显示零星数据这么简单,为了流量往往我们需要在 App 里显示大量有价值信息来吸引用户,如何优雅显示这些海量数据,考量就是你个人经验了...为了改善应用程序体验, iOS 10 上,Apple 对 UICollectionView 和 UITableView 引入了 Prefetching API,它提供了一种需要显示数据之前预先准备数据机制...;最后用 UITableView显示返回数据 viewDidLoad 先请求网络数据来获取一些初始化数据,然后再利用 UITableView Prefetching API 来对数据进行预加载...正常情况下,我们构建 UITableView 这个控件时候,需要对它行数(numsOfRow)做一个初始化,这个行数对我们实现无限加载和无缝加载是一个很关键因素,假设我们每次根据服务端返回数据量去更新

    1.4K20

    Swift - MJRefresh库使用详解1(配置,及库自带下拉刷新组件)

    mj_header.endRefreshing() } //本例,只有一个分区 func numberOfSections(in tableView: UITableView) -> Int...,已创建完成单元需重复使用 let identify:String = "SwiftCell" //同一形式单元格重复使用,声明时已注册 let cell.....9 { items.append("条目\(Int(arc4random()%100))") } } //本例,只有一个分区 func numberOfSections...//同一形式单元格重复使用,声明时已注册 let cell = tableView.dequeueReusableCell(withIdentifier: identify,...不同状态,我们都可以设置一个图片数组,MJRefresh 就会自动播放这几张图片,形成动画。 其中下拉过程图片是根据下拉距离自动改变。

    5.6K31

    无需访问整个数据:OnZeta零样本迁移任务性能提升 !

    结合在线标签学习和代理学习预测标签以及代理学习,作者提出了在线零样本迁移方法(OnZeta),Imagenet上达到了78.94%准确率,而不需要访问整个数据,同时在对其他13个具有不同视觉编码器下游任务上大量实验...TPT [23]放宽了标记示例需求,并针对同一图像不同增强方式优化了提示学习一致性。...作者方法不同视觉编码器共享相同参数。表6总结了比较,其中InMaP结果以灰色表示,因为它在每个迭代中都利用了整个未标注数据。...此外,OnZeta大模型获得了更高改进,显示出其大模型潜力。...此外,OnZeta10个数据(TPT原论文仅有10个任务)9个数据(TPT原始论文中数据)上优于TPT(仅用于图像文本提示进行多模态增强训练)。

    8010

    MATLAB优化大型数据时通常会遇到问题以及解决方案

    MATLAB优化大型数据时,可能会遇到以下具体问题:内存消耗:大型数据可能会占用较大内存空间,导致程序运行缓慢甚至崩溃。...解决方案:使用稀疏数据结构来压缩和存储大型数据,如使用稀疏矩阵代替密集矩阵。运行时间:大型数据处理通常会花费较长时间,特别是使用复杂算法时。...维护数据一致性:在对大型数据进行修改或更新时,需要保持数据一致性。解决方案:使用事务处理或版本控制等机制来确保数据一致性。可以利用MATLAB数据库工具箱来管理大型数据。...数据分析和可视化:大型数据可能需要进行复杂分析和可视化,但直接对整个数据进行分析和可视化可能会导致性能问题。解决方案:使用适当数据采样和降维技术,只选择部分数据进行分析和可视化。...可以使用MATLAB特征选择和降维工具箱来帮助处理大型数据。以上是MATLAB优化大型数据时可能遇到问题,对于每个问题,需要根据具体情况选择合适解决方案。

    52991

    GAN通过上下文复制和粘贴,没有数据情况下生成新内容

    本文中,我将讨论“重写深度生成模型”(https://arxiv.org/abs/2007.15646)一文,该文件可直接编辑GAN模型,以提供所需输出,即使它与现有数据不匹配也是如此。...我相信这种可能性将打开数字行业许多新有趣应用程序,例如为可能不存在现有数据动画或游戏生成虚拟内容。 GAN 生成对抗网络(GAN)是一种生成模型,这意味着它可以生成与训练数据类似的现实输出。...GAN局限性 尽管GAN能够学习一般数据分布并生成数据各种图像。它仍然限于训练数据存在内容。例如,让我们以训练有素GAN模型为例。...但是,如果我们想要眉毛浓密或第三只眼脸怎么办?GAN模型无法生成此模型,因为训练数据没有带有浓密眉毛或第三只眼睛样本。...与其让模型根据训练数据或标签进行优化,不如直接设置我们要保留规则(参数)以提供期望结果。想要戴上头盔吗?没问题。我们可以复制头盔特征并将其放在马头特征上。

    1.6K10

    iOS-UI控件之UITableView(一)

    UITableView 介绍 UITableView 是用来用列表形式显示数据UI控件 举例 QQ好友列表 通讯录 iPhone设置列表 tableView 常见属性 // 设置每一行cell...两种样式只读属性 只读属性,代码不能修改 UITableViewStylePlain 一组显示Section = 1; UITableViewStyleGrouped 分组显示Section...:(UITableView *)tableView { //返回是一个数组,数组元素是显示信息,只是提示,结果还是按索引位置分组 return [NSArray arrayWithObjects...UITableViewCellSelectionStyleDefault 创建 Cell 性能分析及优化 cell重用原理 iOS设备内存有限,如果用UITableView显示成千上万条数据,...),而且每一行用不一定是同一种UITableViewCell,所以一个UITableView可能拥有不同类型UITableViewCell,对象池中也会有很多不同类型UITableViewCell

    1.8K130
    领券