如何将有效负载值存储在全局变量中 - Objective-c

Posted

技术标签:

【中文标题】如何将有效负载值存储在全局变量中 - Objective-c【英文标题】:How to store a payload value in a global variable - 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;

【问题讨论】:

是的,这是可能的。我认为您已经将其作为全局变量。 【参考方案1】:

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

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

并使用它。 声明

NSString* myString;

在 .h 文件中。

【讨论】:

太棒了。这是我完全例外的。谢谢。

以上是关于如何将有效负载值存储在全局变量中 - Objective-c的主要内容,如果未能解决你的问题,请参考以下文章

如何通知尾部更新到 C++ 窗口中的线程? [读取全局变量的未缓存值]

如何引用一个已经定义过的全局变量

android如何从本地变量存储在全局变量

微信小程序WXML页面如何获取全局变量值

如何存储在全局变量中c#

如何在我的java类中将firebase值存储为全局整数[重复]