我在一行中/*1*/
声明了一个变量identifier
。
在一个字符串/*2*/
中,我试图从notification.request.identifier
.
在字符串中,/*3*/
变量identifier
的值为nil
。
我做错了什么以及如何做对?不幸的是,我几乎是第一次看到 Objective-C。
该字符串/*2*/
notification.request.identifier
肯定具有除nil
;以外的值。
if([UNUserNotificationCenter currentNotificationCenter] != nil){
/*1*/ __block NSString *identifier;
[[UNUserNotificationCenter currentNotificationCenter] getDeliveredNotificationsWithCompletionHandler:^(NSArray<UNNotification *> * _Nonnull notifications) {
for (UNNotification *notification in notifications) {
if ([notification.request.content.userInfo[@"id"] isEqualToString:notificationId]) {
/*2*/ identifier = notification.request.identifier;
}
}
}];
/*3*/ if (identifier != nil) {
[[UNUserNotificationCenter currentNotificationCenter] removeDeliveredNotificationsWithIdentifiers:@[identifier]];
}
}