SWIFT 3でtable.reloadData()を使用してテーブルビューをリフレッシュしようとしています。 これまでのところこの作業をすることができましたが、青。エラーなし、警告なし、何もありません。SWIFT - table.reloadData()not working/stopped working
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
配列を埋め呼び出しを起動するたびに。これはうまく動作します。 tableView
も子供viewController
が却下されたときにリフレッシュされることになっていたので、
initializeCollectionView
はviewWillAppear
に呼ばれています。また、タップに呼び出されます。
@IBAction func btnRefreshCollectionAction(_ sender: Any)
{
print("MainVC > btnRefreshCollectionAction")
initializeCollectionView()
}
問題は、私はbtnRefreshCollectionAction
をタップしたときに、今の表では、どちらの子viewController
が却下されたときにも更新されませんです。
initializeCollectionView
では、projectsArray
の配列は空ではありません。
私が最初に思ったのは、これが動作を停止したことに気づく前に実行したXcodeアップグレードを非難することでしたが、通常はアップグレード後に問題があると警告やエラーが発生します。
アイデア?
'projectsArray.count'が0のときにのみ' reloadData'を呼び出すことになります。 – dan
これは粗観測であるかもしれませんが、取得したオブジェクトの数が0より大きい場合はデータを再ロードしないでください?あなたが指定したコードからわかるように、配列が空でなければ、リロードしません! –
今私は気が気になる:|そして私はしばらくそれを見てきました。ありがとうございました:D – daydr3am3r