每个唯一的重用标识符是不是都有自己唯一的重用队列?
Posted
技术标签:
【中文标题】每个唯一的重用标识符是不是都有自己唯一的重用队列?【英文标题】:Does each unique reuse identifier have its own unique reuse queue?每个唯一的重用标识符是否都有自己唯一的重用队列? 【发布时间】:2018-12-25 05:01:01 【问题描述】:回答
是的。一个唯一的reuseIdentifier
对应一个唯一的重用队列。
根据 Apple 的 UITableViewCell's reuseIdentifier 文档:
一个 UITableView 对象维护一个当前的队列(或列表) 可重复使用的单元格,每个都有自己的重复使用标识符,并制作它们 可用于 dequeueReusableCellWithIdentifier 中的委托: 方法
答案由用户 Matt 提供,来源间接链接到 SOF answer。后者由用户 prekshya basnet 发布。
问题的阐述
每个reuseIdentifier
是否对应一个唯一的重用队列?
换句话说:是否可以在同一个 UITableView 实例上使用不同的参数组合调用 register(_:forCellReuseIdentifier:)
及其实现 for registering nibs 或 for registering classes?知道所述参数组合满足以下条件:
nib
或 cellClass
值,具体取决于所述 UITableViewController 使用的实现。
唯一 identifier
每次调用
问题的触发器
根据指南末尾单元格和表格视图性能部分中的Apple's programming guide: A Closer Look at Table View Cells,鼓励遵循以下准则:
为了满足上述准则项目 1. 和 2. 为了满足我的要求,即有两个相同的单元格 类型,但它们甚至以不同的方式以不同的方式布局 尽管它们是相同的 XIB 和 UITableView 子类。重复使用单元格。 避免重新布局内容。 使用不透明的子视图。
然后我需要为同一个nib
对象使用两个不同的reuseIdentifier
字符串。
我已经可以在UITableViewDelegate
或UITableViewDataSource
中使用位于我的dataSource
后备库集合中的对象中的控制标志/枚举来区分布局不同的两个nib
对象。这个对象当然对应于delegate
/dataSource
中引用的indexPath
。
问题以前的工作
我在多个网站上使用多个搜索引擎搜索了互联网,包括***。我已经检查了以下问题:what registering a call for cell reuse actually do 和 registered classes for reuse identifiers 以及许多其他太遥远甚至无法提及的问题。
【问题讨论】:
重用标识符是最重要的。不同的重用标识符之间的 nib 或类可以是相同的,但是如果您请求具有特定重用标识符的单元格,那么您会得到 【参考方案1】:每个reuseIdentifier 是否对应一个唯一的重用队列?
是的。这正是重用标识符的含义:它是一堆可供重用的单元格的名称。
【讨论】:
知道只有你们中的一个人能够回答这种问题。谢谢。以上是关于每个唯一的重用标识符是不是都有自己唯一的重用队列?的主要内容,如果未能解决你的问题,请参考以下文章