Working on debugging the HistoryViewController we finally determined that the matchCache has the same contents at line 104 in SetGame.m for each array element, even though each of those elements has a unique memory address.