gpt4 book ai didi

ios - SWIFT - table.reloadData() 没有/停止工作

转载 作者:行者123 更新时间:2023-11-28 06:21:23 25 4
gpt4 key购买 nike

我正在尝试在 SWIFT 3 中使用 table.reloadData() 刷新 tableView。前段时间我设法让它工作,但现在它突然停止工作了。没有错误,没有警告,什么都没有。

override func viewWillAppear(_ animated: Bool)
{
print("MainVC > viewWillAppear")

super.viewWillAppear(animated)
initializeCollectionView()
}

func initializeCollectionView()
{
print("MainVC > initializeCollectionView")

projectsArray = []
getDocumentDirectoryContent()

if(projectsArray.count > 0)
{
print(projectsArray.count)

//For testing only - To make sure the array is not empty
for var i in 0..<projectsArray.count
{
print(projectsArray[i].project_name)
}

cvProjects.isHidden = false
ivMainVCPlaceholder.isHidden = true
}
else
{
cvProjects.isHidden = true
ivMainVCPlaceholder.isHidden = false

cvProjects.reloadData()
}
}

每次应用程序启动时,它都会调用它从 documentDirectory 获取数据并用对象填充 projectsArray 数组。这很好用。

initializeCollectionViewviewWillAppear 中调用,因为 tableView 也应该在子 viewController 时刷新被解雇。它也被调用:

@IBAction func btnRefreshCollectionAction(_ sender: Any)
{
print("MainVC > btnRefreshCollectionAction")

initializeCollectionView()
}

现在的问题是,当关闭子 viewController 或点击 btnRefreshCollectionAction 时,表格都不会刷新。

但是,initializeCollectionView 中的 projectsArray 数组不为空。

我的第一个想法是责怪我在注意到它停止工作之前执行的 Xcode 升级,但通常如果升级后出现任何问题,就会出现警告和/或错误。

有什么想法吗?

最佳答案

那是因为你只有在数组为空时才调用 reload 方法。当数组中有对象时,您正在执行一些其他代码但不会重新加载。要么在 viewWillAppear 中编写重新加载方法,要么将重新加载方法也放在 If 条件中。这应该有效。

关于ios - SWIFT - table.reloadData() 没有/停止工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43326446/

25 4 0