0

NSRunAlertPanel を使用してアラート パネルにメッセージを表示するデスクトップ アプリケーションを開発しています。私は次のことをしています:

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

アラート パネルにタイトルが正しく表示されます。すなわち % Test しかし、メッセージは est Message です。% Test Message を表示したい。

この問題を解決するにはどうすればよいですか?

前もって感謝します。

4

1 に答える 1

0

これを試して :

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

なんで?

NSRunAlertPanelを使用しNSBeginAlertSheetます。NSBeginAlertSheetのドキュメントを見ると、msg ( で指定...) の後にさらにパラメーターがあることがわかります。

これは、タイトルは文字どおりに表示される文字列にすぎないことを示していますが、メッセージは同じようにフォーマット パラメータを持つことができます[NSString stringWithFormat:]

パラメータが存在することを文字列が指定する方法は、% 文字を使用することです。つまり、%i は「ここに整数を入れる」ことを意味し、%@ は「オブジェクトの説明をここに入れる」ことを意味します。% を単独で入力しただけで、非常に混乱します。

二重の %% は、このパーセントは私があなたに何か特別なものを入れてほしいと言っているのではなく、本当に % が欲しいだけであることを意味します。

于 2010-12-21T11:26:30.327 に答える