2012-06-20 74 views
2

在iOS 5.1.1上生成UILocalNotification時,我無法在alertBody中顯示特殊字符,如'%'。 Apple的文檔特別指出'%'char的字符串格式化程序是'%%'。UILocalNotification特殊字符警報正文

下面是相關代碼:

UILocalNotification *localNotification = [[UILocalNotification alloc] init]; 
localNotification.timeZone = [NSTimeZone defaultTimeZone]; 
localNotification.fireDate = [NSDate dateWithTimeIntervalSinceNow:20.0]; 

localNotification.alertBody = [NSString stringWithFormat:@"Test %%"]; 
NSLog(@"Local notification's alert body is %@",localNotification.alertBody); 
localNotification.alertAction = @"View"; 

localNotification.soundName = UILocalNotificationDefaultSoundName; 
localNotification.applicationIconBadgeNumber = 1; 

[[UIApplication sharedApplication] scheduleLocalNotification:localNotification]; 

同樣的事情發生,如果我試圖指定alertBody絕對: localNotification.alertBody = @ 「測試%」;

我已經嘗試過相同的代碼來生成一個完美的UIAlertView。這是一個iOS錯誤?

回答

-1

我知道它說格式化程序是%%,但通常在字符串中使用反斜槓\作爲轉義。因此請嘗試:「Test \%」。

+0

localNotification.alertBody = @「Test \%」;表現與上面完全一樣:(打印「測試」部分,但缺少'%'字符 – wasabi

+0

它出現爲「如果我嘗試完全指定alertBody,則會發生同樣的情況:localNotification.alertBody = @」Test %「;」在你的帖子中,退格者決定發表評論,我認爲你寫的是正確的。 – prince

0

我發現,其中包括使用

localNotification.alertBody = @"%%%%"; 

,以生成一個 '%' 字符的部分解決方案。我猜測這是iOS中的一個雙重處理錯誤。