NSLog et printf sont très utilisés. Cependant ils peuvent être source d’une faille pouvant planter votre application. Voici ce qu’il ne faut jamais faire:
NSLog(str);
A la place, faites plutôt ceci:
NSLog(@"%@", str);
Pourquoi ? Parce que si, par exemple, str=@ »abcd %n 123 %@ » alors NSLog voudra chercher des arguments pour remplir les « % ». Mais il n’y en a pas, d’où le plantage. Même Apple s’est faite avoir.