Как сохранить значение полезной нагрузки в глобальной переменной — Objective-c

#javascript #ios #objective-c #cordova

#javascript #iOS #objective-c #кордова

Вопрос:

Возможно ли сохранить значение полезной нагрузки в глобальную переменную в методе didFinishLaunchingWithOptions. В будущем мне нужно будет использовать эту глобальную переменную из функции javascript (phonegap). notificationData — это глобальная переменная, которую я объявил в файле .h .

 NSString * notificationData;
 

didFinishLaunchingWithOptions метод в файле .m

 -(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    BOOL ret = [super application:application didFinishLaunchingWithOptions:launchOptions];

    if (launchOptions != nil) {
        //opened from a push notification when the app is closed
        NSDictionary* userInfo = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];

        if(userInfo != nil){
             [self processRemoteNotification:userInfo];
        }
    } else {}

    return ret;
}

-(void) processRemoteNotification:(NSDictionary *)userInfo{
    NSString *ctpayload = [userInfo objectForKey:@"payload"];
    notificationData = ctpayload;
}
 

Комментарии:

1. Да, это возможно. Я думаю, у вас уже есть это как глобальная переменная.

Ответ №1:

Почему вы сохраняете только ссылку на полезную нагрузку. Это строка, в которой вы можете выделить новую строку со значением полезной нагрузки:

 myString = [[NSString alloc] initWithString:payload];
 

и используйте его.
Объявить

 NSString* myString;
 

в файле .h.

Комментарии:

1. Отлично . Это то, что я точно исключил. Спасибо.