#ios #uilocalnotification
#iOS #uilocalnotification
Вопрос:
В моем приложении есть две разные функции, каждая из которых может планировать локальное уведомление. Они оба являются напоминаниями, но для разных вещей и для разных частей приложения. Есть ли способ запланировать для них 2 разных действия? Например, щелчок по стилю уведомления 1 отправляет вас на первую вкладку, щелчок по стилю уведомления 2 отправляет вас на 2-ю вкладку?
Комментарии:
1. @Neeku Я просто использую стандартный метод
- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification
, кроме этого, у меня ничего нет, просто пытаюсь даже узнать, возможно ли, чтобы 2 разных локальных уведомления делали 2 совершенно разные вещи.
Ответ №1:
Да, это возможно, просто добавьте пользовательское NSDictionary
UILocalNotification
userinfo
свойство.
Например, добавьте тип при создании UILocalNotification
:
myLocalnotification.userInfo = @{@"type" : @"openTab1"};
Тогда в application:didReceiveLocalNotification:
вы могли бы сделать:
if ([notification.userInfo[@"type"] isEqualToString:@"openTab1"]) {
// Your code to open tab1
}
Ответ №2:
UILocalNotification
s поддерживает userInfo
словарь. Вы можете добавить сюда некоторую информацию, чтобы вызвать нужный вам ответ. Например, вы можете создать свой собственный словарь «действий»:
@{ @"action" : @"open_tab_1"}
Когда вы получаете уведомление, вы проверяете userInfo
и проверяете ключ действия и запускаете правильное поведение, просто проверяя равенство 2 строк.