[NSString stringWithFormat:@"%@ \n%@ \n%@",
self.message1,self.message2,self.message3];
Il y a un moyen de passer seulement message1 ..2 ..3 seulement sinon == ""?NSString stringWithFormat: comment transmettre uniquement des chaînes non vides?
[NSString stringWithFormat:@"%@ \n%@ \n%@",
self.message1,self.message2,self.message3];
Il y a un moyen de passer seulement message1 ..2 ..3 seulement sinon == ""?NSString stringWithFormat: comment transmettre uniquement des chaînes non vides?
Juste pour proposer une alternative et plus solution compacte:
[[@[self.message1, self.message2, self.message3]
filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"length > 0"]]
componentsJoinedByString:@" \n"];
Donc, contrairement à la solution de mundi que:
Il y a évidemment plus d'étapes là-dedans, donc ça va coûter un peu plus cher mais dans la plupart des cas, vous n'avez vraiment pas besoin de vous soucier de ces choses.
Si vous transmettez @""
, rien ne s'affichera de toute façon, donc ce ne serait pas le problème. Donc, je suppose que vous ne voulez pas non plus les sauts de ligne si la chaîne est vide.
NSMutableString *s = [NSMutableString string];
if (self.message1 && self.message1.length) {
[s appendFormat:@"%@ \n", self.message1];
}
if (self.message2 && self.message2.length) {
[s appendFormat:@"%@ \n", self.message2];
}
if (self.message3 && self.message3.length) {
[s appendFormat:@"%@ \n", self.message3];
}