#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. Отлично . Это то, что я точно исключил. Спасибо.