Facebook | Phone | Implementing UIKit Code

Hello, everyone. I got this question from a Facebook Interview. I couldn't resolve at that moment and I offer my quick solution on how I imagine that it works.

Question

Imagine that you work an Apple, and suddenly the implementation code is lost. What you have to do is to implement the code for dequeueReusableCell(withIdentifier:).
How would you implement that function?

class UItableView: UIScrollView {
    
    func dequeueReusableCell(withIdentifier identifier: String) -> UITableViewCell? {
        
    }
}

My solution

As it was a question that was to be answered quicikly what I had answered was:

Assuming there's an array that stores all the cells in the UITableView, I'd use it to find that cell:

class UItableView: UIScrollView {
    
	let cells = [UITableViewCell]()
	
    func dequeueReusableCell(withIdentifier identifier: String) -> UITableViewCell? {
        return cells.filter { $0.identifier == identifier }.first
    }
}

If there is a better answer, please post it in the comments. Thanks in advance.

Comments (5)
No comments yet.