2

在 iOS 5.1.1 上生成 UILocalNotification 时,我无法在 alertBody 中显示特殊字符,例如“%”。Apple 的文档特别指出 '%' char 的字符串格式化程序是 '%%'。

以下是相关代码:

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 = @"Test %";

我已经尝试过相同的代码来生成一个完美运行的 UIAlertView。这是iOS错误吗?

4

2 回答 2

0

我找到了一个涉及使用的部分解决方案

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

生成一个 '%' 字符。我猜这是iOS中的双重处理错误。

于 2012-06-20T19:01:22.717 回答
-1

我知道它说格式化程序是 %% 但通常在字符串中您使用反斜杠 \ 作为转义。因此,请尝试:“Test \%”。

于 2012-06-20T18:22:17.510 回答