You have this code:
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return 0;
}
which is telling the table to have 0 cells in it after the update when the table is expecting 4. If you are using static cells in the storyboard then you should not implement the numberOfRowsInSection function.
If you remove that code then you should have no problems.
EDIT: Or if you do want the numberOfRowsInSection function then you need to hook up a datasource to the tableview. This would allow you to return the count of the datasource. Then, when you delete a row you would remove the corresponding object in your datasource so that the count is 1 less than it previously was.