You have the answer in your code but it is commented out.
[displaytask sizeToFit];
The problem isn't with the strings. You can see that when you log them they are intact.
The problem is that the C4Label
that displays them starts with a frame based on the starting text. So, when you start with short text the size of the display is only as long as "Raw Taco" but when "Rotten Sushi" comes up it doesn't have enough space to display. When you call sizeToFit
what happens is that it will examine how big of a frame you need to hold the current string in text
and changes the frame of the C4Label
appropriately. You can read a bit more about it here.