如何将有效负载值存储在全局变量中 - 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的主要内容,如果未能解决你的问题,请参考以下文章