reuseidentifier is an identifier from which you can get a cell. if you set the cell identifier again, you can access this cell in the cellForRowAtIndexPath method
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"]; if (!cell) { cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"cell"]; }
which means that you will get a cell from the board using reuseid "cell". in your case you should write above two lines as follows
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:nil]; if (!cell) { cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil]; }
this line shows that every time a new cell is assigned and initialized, and it does not use a prototype cell.
therefore, the prototype cell from the storyboard is never used. if you want, I can give you a demo to mention how this works.
source share