UITableView duplicate cells, half of which are hidden

Using Reveal to look at a UITableView in my app, and it is showing that after scrolling there are sometimes duplicate cells in the UITableView.

They are exactly the same construction, and have separate addresses in memory, but one of each pair is always hidden.

Unsure if this is an issue with my code, and something to do with a cell being accidentally recreated when being dequeued, or if this is a 'behind the scenes' mechanism that UITableView uses to handle dequeuing and scrolling.

The behaviour you've described is more or less normal. UITableView and UICollectionView implement cell reuse by hiding the cell views that have been "discarded", until they are claimed by the data source again. Depending on the way you use your table view, you may end up with quite a few unused cells which look "duplicated". This is not indicative of any particular problem in your code (or in Reveal), though it may give you a hint about cell reuse efficiency, table reloading or dynamic sizing overhead.

Remember: you can always toggle displaying hidden views in Reveal using Canvas → Display Hidden Views menu item, or the corresponding button in the bottom-left corner of the Canvas.