Une méthode qui prend un argument qui est un format
colas_
Membre
Je souhaite créer une méthode
- appendWithFormat:(?????)aFormat, ...
qui prendrait pour argument un format. Par exemple, quelque chose comme
@Ceci %ld, 5
Cette méthode ensuite, créerait la NSString correspondant à ce qu'elle reçue, pour l'affecter à une @property string.
Donc, on aurait :
[myObject appendFormat:@Ceci %ld, 5] ;
// qui ferait
myObject.string = [NSString stringWithFormat:@Ceci %ld, 5] ;
Est-ce possible ?
Merci !
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Ca le fait pas?
@Mala : Oui, ça le fait ! Mais comment je récupère la string formatée dans le corps de ma méthode ?
Merci !
L'idéal est même de marquer cette méthode, quand tu la déclares, avec des attributs qui vont indiquer que ta méthode "appendWithFormat:" prend un format à la printf/stringWithFormat, comme ça le compilateur pourra te détecter s'il y a des incohérences (genre si tu mets un "%d" mais que tu passes un float ou un objet, ou que tu mets un "%@" alors que tu passes un int...):
La macro NS_FORMAT_FUNCTION est une macro qui rajoute un __attribute__ GNU C sur ta fonction pour l'annoter et indiquer au compilateur qu'il doit s'attendre à un format à la stringWithFormat, dont le paramètre de format est en première position (1) et les arguments à utiliser pour ce remplir format commencent à partir du deuxième argument (2).
Bon, après, en pratique j'espère que c'était que pour l'exemple que tu demandais ça, car là en l'occurrence je viens de te coder une fonction qui ne sert à rien, puisqu'elle fait exactement la même chose que la méthode "+stringWithFormat:", mais bon, au moins tu sauras comment te créer la tienne si tu en as besoin un jour
J'ai un objet qui a une propriété NSString et je voulais créer une méthode qui me permettent de remplir cette propriété avec un format.
Merci !!!
À propos de "Proprement libérer les arguments", est-ce que ce qui suit est mal ?
En effet, le return apparaà®t avant la ligne
Vaut-il mieux faire ?
Allez, comme c'est une instruction de base, je mets ça sur la fatigue du début de semaine va
OK Ali, merci !
Oui, la fatigue ;-)