0

我正在开发一个桌面应用程序,我想使用 NSRunAlertPanel 在警报面板中显示一条消息。我正在做以下事情:

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

警报面板正确显示标题。即 % Test 但是,消息是 est Message;我想显示 % 测试消息。

我该如何解决这个问题?

提前致谢。

4

1 回答 1

0

尝试这个 :

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

为什么?

NSRunAlertPanel使用NSBeginAlertSheet. 查看 NSBeginAlertSheet的文档,您可以看到 msg 之后还有更多参数(由 指定...)。

这告诉我们,title 只是一个字面显示的字符串,但消息可以具有与格式参数相同的格式参数[NSString stringWithFormat:]

字符串指定参数的方式是使用 % 字符,即 %i 表示“在此处放置一个整数”,%@ 表示“在此处放置一个对象的描述”。你自己只放了一个 % ,这让事情变得非常混乱!

双 %% 表示这个百分比不是我告诉你我希望你在里面放任何特别的东西,我真的只是想要 %。

于 2010-12-21T11:26:30.327 回答