La seule utilité que j'ai vu, c'est de différencier entre les variables locales et les variables membres comme indiqué ci-dessus, mais il n'est pas nécessaire de la convention. Quand il est associé avec un @de la propriété, il augmente le niveau de verbosité de synthétiser les états – @synthesize missionName = _missionName;
, et c'est moche de partout.
Au lieu d'utiliser le trait de soulignement, il suffit d'utiliser descriptif, les noms de variables dans les méthodes qui ne sont pas en conflit. Quand ils doivent conflit, le nom de la variable dans la méthode doit subir un trait de soulignement, pas le membre d'une variable qui peut être utilisé par plusieurs méthodes. La seule commune où cela est utile, dans un setter ou dans une méthode init. En outre, il fera le @synthétiser de déclaration plus concis.
-(void)setMyString:(NSString*)_myString
{
myString = _myString;
}
Edit:
Avec la dernière fonctionnalité de compilateur de l'auto-synthèse, je vais maintenant utiliser soulignement pour le ivar (à l'occasion rare que j'ai besoin d'utiliser un ivar correspondre à ce que l'auto-synthèse.