Разные действия iOS для разных локальных уведомлений?

#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 строк.