I have a tableviewcontroller, with dynamic rows. I'm using a storyboard, so the cell is re-used for each dynamic row. On each row, I have 2 buttons. When the view first runs, the buttons work fine. I have a scenario where the view needs to be refreshed (I reload the root element). At this point, the buttons break with the SIGSEGV error when tapped. From the hours of research I've done this far, it appears as though the GC has disposed of the button, but not the handler. Even though I recreate the buttons when I reload the root element, the new buttons, when tapped, seem to be handled by the previous event handler. How can I create the dynamic buttons (or totally remove the previous event handler)?