2010-12-21 59 views
0

我正在開發一個桌面應用程序,我想使用NSRunAlertPanel在警報面板中顯示一條消息。 我做了以下幾件事:在NSRunAlertPanel中顯示%的問題

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

警報面板顯示標題正確。即%測試 但是,該消息是est消息;我想要顯示%測試消息。

我該如何解決這個問題?

在此先感謝。

+0

對不起用戶!這已經發布了。請參閱鏈接:http://stackoverflow.com/questions/1860609/displaying-percentage-using-nsstring它工作正常。 – spd 2010-12-21 11:30:42

+0

僅供參考:我剛剛編輯過我的問題,解釋爲什麼它在標題中使用單個%,但在消息中需要%%。 – deanWombourne 2010-12-21 11:39:48

回答

0

試試這個:

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

爲什麼?

NSRunAlertPanel使用NSBeginAlertSheet。看看documentation for NSBeginAlertSheet,你可以看到msg之後有更多參數(由...指定)。

這告訴我們標題只是字面上顯示的字符串,但是消息可以具有與[NSString stringWithFormat:]相同的格式參數。

,一個字符串指定有將是一個參數的方法是通過使用%字符即%I手段「放的整數這裏」,%@手段「把一個對象的描述在這裏」。你只是自己放了一個%,這讓事情非常困惑!

雙重%%意味着這個百分比不是我告訴你我希望你把什麼特別的東西放在那裏,我真的只想要%。