Search code examples
iosswiftuitableviewdelayreloaddata

iOS - UITableView reloadData after delay


I'm trying to create a UITablView extension function to reload table after some time delay, like:

extension UITableView {
    func reloadData(afterDelay delayTime: TimeInterval) -> Void {
        self.perform(#selector(self.reloadData), with: nil, afterDelay: delayTime)
    }
}

But it's showing me an error: Ambiguous use of 'reloadData'

What's its proper solution?

Here is snapshot with error message enter image description here


Solution

  • Rename your function because it conflicts with UITableView's reloadData()

    //---------
    extension UITableView {
    
        // Default delay time = 0.5 seconds
        // Pass delay time interval, as a parameter argument
        func reloadDataAfterDelay(delayTime: TimeInterval = 0.5) -> Void {
            self.perform(#selector(self.reloadData), with: nil, afterDelay: delayTime)
        }
    
    }