- (id)copyWithZone:(NSZone *)zone { PCShoppingCartCell *copy = [[ PCShoppingCartCell alloc] initImageCell:nil]; return copy; } This does not crash, but it looks so suspiciously memory-leaking... (the alloc/init is not paired with a release on my side). When trying to follow the (few) suggestions the docs give me, I tried this (but it did not work, the app crashed as soon as the TableView wanted to redraw):