 <p>When a reference to a cell is made via a <code>UITableView</code>, (usually by iOS, when loading your view), iOS calls the methods in its lifecycle - e.g., <code>heightForRowAtIndexPath</code>, <code>editingStyleForRowAtIndexPath</code> to work out how to display it etc.</p> <p>So your source of an infinite loop is that you make a reference to a cell, inside a method that is called when a reference to a cell is made ;)</p> <p>To fix this, you should reference back to your data source, instead of asking the cell directly about itself. If you have a class set up as a data collection, this is easy.</p>