unable to dequeue a cell with identifier Cell - must register a nib or a class for the identifier or connect a prototype cell in a storyboard
The table/collection view was asked for a reusable cell identifier that was never registered.
Seen on:
iOS
Meaning
The identifier must match the prototype cell’s Identifier in the storyboard or a register(_:forCellReuseIdentifier:) call — case-sensitive.
Common causes
- Identifier typo or mismatch
- Cell class/nib not registered for programmatic tables
- Prototype cell identifier not set in storyboard
⚡ Quick fix
- Register the cell class/nib in viewDidLoad
- Set the identifier on the prototype cell
- Use a constant for the identifier
Detailed fix by platform
Swift
- swift
tableView.register(UserCell.self, forCellReuseIdentifier: UserCell.reuseID) let cell = tableView.dequeueReusableCell(withIdentifier: UserCell.reuseID, for: indexPath) as! UserCell
How to diagnose
- Identifier — Same string everywhere?
- Registration — Called before reload?
🔧 Still not fixed?
Many errors look alike. If the steps above didn’t solve it, one of these is probably what you’re facing:
Similar errors
Most viewed in iOS
Other ways to find it
🧠 Still stuck? Analyze your error
Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.
Was this page helpful?
Report a correction or suggest an improvement
Last updated 7 Oct 2026