Wann würde initWithFormat: Argumente: verwendet werden?

8

Die NSString-Methode initWithFormat: arguments: verwendet eine va_list als Argument. Ich kann nicht herausfinden, wann es verwendet werden würde (oder sogar wie man es benutzt). Warum sollte Apple eine solche Methode hinzufügen, wenn das reguläre initWithFormat: viel benutzerfreundlicher ist?

    
calvinlough 11.02.2010, 02:54
quelle

3 Antworten

11

Sie können keine dynamische Liste von Formatargumenten an -initWithFormat: übergeben. Wenn Sie beispielsweise -stringByAppendingFormat: ohne -initWithFormat:arguments: selbst implementieren möchten, haben Sie eine Aufgabe. Mit der va_list Version könntest du es machen:

%Vor%     
John Calsbeek 11.02.2010, 03:02
quelle
3

Es ist nützlich, wenn Ihre eigene Funktion oder Methode variadische Argumente verwendet, weil es in diesem Fall unmöglich ist, die Methode vanille initWithFormat: zu verwenden.

Zum Beispiel das folgende (nutzlose) Beispiel-Snippet:

%Vor%     
zneak 11.02.2010 03:02
quelle
0

Ich würde sagen, ohne weiter darauf zu schauen, dass Apple NSString initWithFormat: als eine Hilfsmethode zusätzlich zu NSString initWithFormat:arguements: bereitstellt, was bedeutet, dass die kurze Version einfach die längere nennt.

Es gibt auch [NSString stringWithFormat:], das einen automatisch freigegebenen NSString zurückgeben kann und den alloc -Aufruf speichert, wenn Sie die Zeichenfolge nicht lange brauchen.

    
Jessedc 11.02.2010 02:58
quelle

Tags und Links