Під час генерації UILocalNotification на iOS 5.1.1 Я не в змозі показати спеціальні символи, такі як "%" у сповіщенніBody. У документації 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];
Те ж саме відбувається, якщо я спробую вказати попередженняBody абсолютно: localNotification.alertBody = @ "Тест%";
Я спробував той же код, щоб створити UIAlertView, який прекрасно працює. Це помилка iOS?
Відповіді:
0 для відповіді № 1Я знайшов часткове рішення, яке передбачає використання
localNotification.alertBody = @"%%%%";
для створення одного символу "%". Я здогадуюсь, що це помилка подвійної обробки в iOS.
-1 для відповіді № 2
Я знаю, що це говорить про те, що формат формат є %%, але зазвичай у рядках ви використовуєте зворотну косу рису як біг. Тому спробуйте: "Тест%" замість цього.