gpt4 book ai didi

ios - awakeFromNib() 调用了两次

转载 作者:行者123 更新时间:2023-11-29 05:35:04 26 4
gpt4 key购买 nike

我有一个表格 View ,其中注册了两个自定义 Nib 单元。单元及其相应的连接类彼此完全独立。

基于条件的表格 View 应显示注册的两个单元格之一:

表格 View 代码:

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
//Show only the table cells that have content.
tableView.tableFooterView = UIView(frame: CGRect.zero)

let rowData = FriendsTab.potentialFriendList[indexPath.row]

if (rowData.pendingInvite){
let cell = potentialFriendTableView.dequeueReusableCell(
withIdentifier: requestCellIdentifier, for: indexPath)
as! FriendRequestCell

cell.activityIndicator.isHidden = true
cell.activityIndicator.hidesWhenStopped = true

cell.userName.text = firstName + " " + lastName

return cell
}
else{
let cell = potentialFriendTableView.dequeueReusableCell(
withIdentifier: potentialCellIdentifier, for: indexPath)
as! PotentialFriendCell


cell.activityIndicator.isHidden = true
cell.activityIndicator.hidesWhenStopped = true

cell.userName.text = firstName + " " + lastName


return cell
}
}

单元格注册代码(来自viewDidLoad):

    let potentialFriendXib = UINib(nibName: self.potentialCellIdentifier, bundle: nil)
let requestFriendXib = UINib(nibName: self.requestCellIdentifier, bundle: nil)

self.potentialFriendTableView.register(potentialFriendXib,forCellReuseIdentifier: self.potentialCellIdentifier)
self.potentialFriendTableView.register(requestFriendXib,forCellReuseIdentifier: self.requestCellIdentifier)

由于某种原因,FriendRequestCell 调用 awakeFromNib() 两次,但 PotentialFriendCell 按预期工作(一次调用)。

我已经搜索了一些(非常古老的)SO问题,但它们似乎处理该项目不使用的嵌套(父子) Nib (它们是单独的)。

我哪里出了问题,有什么想法吗?

最佳答案

所有这些都是在 InterfaceBuilder 中完成的。在界面生成器中,打开包含 tableviewcontroller 的 Storyboard或 xib。然后选择使用 Content: Dynamic Prototypes,Prototype Cells 选择 2。然后您将获得 2 个 TableView 单元。下一步是按照您对每个 xib 中的单元所做的操作进行操作。现在没有 Nib 的加载,也没有注册。您仍然需要为每个单元格执行 dequeueReusableCell。

关于ios - awakeFromNib() 调用了两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57119042/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com