【问题标题】:How to store a payload value in a global variable - Objective-c如何将有效负载值存储在全局变量中 - Objective-c
【发布时间】:2014-06-24 07:18:51
【问题描述】:

是否可以在 didFinishLaunchingWithOptions 方法中将有效负载值存储到全局变量中。将来,我需要从 javascript 函数(phonegap)中使用这个全局变量。 notificationData 是我在 .h 文件中声明的全局变量。

NSString * notificationData;

.m 文件中的didFinishLaunchingWithOptions 方法

-(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;
}

【问题讨论】:

  • 是的,这是可能的。我认为您已经将其作为全局变量。

标签: javascript ios objective-c cordova


【解决方案1】:

为什么只保存有效载荷的参考。它是字符串,您可以使用有效负载值分配一个新字符串:

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

并使用它。 声明

NSString* myString;

在 .h 文件中。

【讨论】:

  • 太棒了。这是我完全例外的。谢谢。
猜你喜欢
  • 1970-01-01
  • 2019-04-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-24
  • 2012-01-07
  • 2021-09-08
相关资源
最近更新 更多