在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错误吗?
答案 0 :(得分:0)
我找到了一个涉及使用
的部分解决方案localNotification.alertBody = @"%%%%";
生成一个'%'字符。我猜这是iOS中的双重处理错误。
答案 1 :(得分:-1)
我知道它说格式化程序是%%但通常在字符串中使用反斜杠\作为转义。所以请尝试:“测试\%”。