Staticity allows you to define only one instance of the NSString object that will be used. If you used a string literal instead, there is no guarantee that only one object will be created; instead, the compiler can assign a new line each time the loop is called, and then pass this to the dequeue method, which will use string comparisons to check if any cell is available.
In practice, there is no difference; both static and literals will work fine. But with static, you tell Obj-C that it should use the same instance every time. Although this is unlikely to cause any problems for you, it is recommended that you use static if you plan to always use the same object.
source share