我正在开发一个桌面应用程序,我希望使用NSRunAlertPanel在警报面板中显示一条消息。 我正在做以下事情:
NSString *title = @"% Test";
NSString *message = @"% Test Message";
NSRunAlertPanel(title, message, @"Ok" ,@"Cancel" ,nil);
警报面板正确显示标题。即%测试 但是,消息是消息;我想显示%Test Message。
如何解决这个问题?
提前致谢。
答案 0 :(得分:0)
试试这个:
NSString *title = @"% Test";
NSString *message = @"%% Test Message";
NSRunAlertPanel(title, message, @"Ok" ,@"Cancel" ,nil);
为什么?
NSRunAlertPanel
使用NSBeginAlertSheet
。查看documentation for NSBeginAlertSheet,您可以看到msg后面有更多参数(由...
指定)。
这告诉我们标题只是字面上显示的字符串,但消息的格式参数与[NSString stringWithFormat:]
的格式参数相同。
字符串指定将存在参数的方式是使用%字符,即%i表示'在此处放置一个整数',%@表示'放置一个对象在这里的描述'。你只是把它自己放了一个%,这让事情变得很困惑!
双倍%%意味着这个百分比不是我告诉你我希望你在那里放一些特别的东西,我真的只想要那个%。