Frage

Ich entwickle eine Desktop-Anwendung, wo ich eine Nachricht in Alarmpanel NSRunAlertPanel zeigen möge. Ich tue die folgenden Dinge:

NSString *title = @"% Test";
NSString *message = @"% Test Message";
NSRunAlertPanel(title, message, @"Ok" ,@"Cancel" ,nil);

Der Alarm Panel den Titel richtig zeigen. d.h%-Test Aber die Nachricht est Nachricht; Ich möchte% Testnachricht angezeigt werden soll.

Wie kann ich dieses Problem lösen?

Vielen Dank im Voraus.

Keine korrekte Lösung

Andere Tipps

Versuchen Sie diese:

NSString *title = @"% Test";
NSString *message = @"%% Test Message";
NSRunAlertPanel(title, message, @"Ok" ,@"Cancel" ,nil);

Warum?

NSRunAlertPanel verwendet NSBeginAlertSheet. Mit Blick auf die Dokumentation für NSBeginAlertSheet Sie sehen können, dass es mehr Parameter nach msg (vom ... angegeben).

Das sagt uns, dass Titel ist nur eine Zeichenfolge buchstäblich angezeigt, aber die Nachricht Formatparameter die gleiche Art und Weise haben, dass [NSString stringWithFormat:] der Fall ist.

Die Art und Weise, dass ein String gibt an, dass es wird ein Parameter sein, indem ein Zeichen% verwenden dh% i bedeuten ‚ setzt eine ganze Zahl hier ‘,% @ bedeutet ‚ eine setzen Objektbeschreibung hier ‘. Sie haben gerade auf ein% von selbst, die Dinge sehr verwirrt wird!

Die doppelte %% bedeutet Prozent mir nicht, Sie sagen, dass ich möchte Sie etwas Besonderes setzen da drin, ich wirklich will nur die% gefallen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top