ios-AppDelegate.m中的局部产量在viewcontroller.m中如何调用?

问题描述

AppDelegate.m中的局部产量在viewcontroller.m中如何调用?
  • (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler
    {
    // 打印到日志 textView 中
    [self.viewController addLogString:[NSString stringWithFormat:@"backgroud : %@",userInfo]];

    completionHandler(UIBackgroundFetchResultNewData);

}
以上代码为AppDelegate.m中的userInfo .这个userInfo是不是局部产量?我需要在viewcontroller.m中调用它,比如说把它拼接到字符串里面,我该使用什么方法呢?

解决方案

使用NSNotificationCenter
1.首先,在viewcontroller.m中注册通知
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(getDict:) name:@"test" object:nil];
并且定义通知触发之后的动作getString函数

  • (void)getDict:(NSNotification*)notification{
    NSDictionary *dict=[notification object];
    NSLog(@"userInfo:%@",dict);
    //对传过来的值进行操作
    }

2.在AppDelegate.m中触发通知

(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler
{
// 打印到日志 textView 中
[self.viewController addLogString:[NSString stringWithFormat:@"backgroud : %@",userInfo]];
//触发通知
[[NSNotificationCenter defaultCenter] postNotificationName:@"test" object:userInfo];
completionHandler(UIBackgroundFetchResultNewData);
}
你试试,不行的话再找我。

时间: 2024-10-03 03:32:44

ios-AppDelegate.m中的局部产量在viewcontroller.m中如何调用?的相关文章

字符串-ios怎么在viewcontroller.m中调用AppDelegate.m中的字符

问题描述 ios怎么在viewcontroller.m中调用AppDelegate.m中的字符 我用百度推送来弄推送消息,但是返回的推送数据是在appdelegate.m中的一个字符串userInfo.下载我需要在viewcontroller中调用这个字符串,我该怎样子才能做到呢?各位大神教教我呀,小的急死了. 解决方案 用NSUserDefaults 试试. 在Appdelegate.m中 ,得到userInfo之后,添加下列代码,将userInfo存起来. [[NSUserDefaults

iOS中CoreData数据管理系列二——CoreData框架中三个重要的类

iOS中CoreData数据管理系列二--CoreData框架中三个重要的类 一.引言     在上一篇博客中,介绍了iOS中使用CoreData框架设计数据模型的相关步骤.CoreData框架中通过相关的类将数据--数据模型--开发者无缝的衔接起来.NSManagedObjectModel对应数据模型,即上篇博客中我们创建的.xcdatamodeld文件:NSPersistentStoreCoordinator相当于数据库与数据模型之间的桥接器,通过NSPersistentStoreCoord

为什么使用ajax局部刷新返回到jsp中的<a>在jsp中使用event.target获取不到

问题描述 为什么使用ajax局部刷新返回到jsp中的<a>在jsp中使用event.target获取不到 为什么使用ajax局部刷新返回到jsp中的在jsp中使用event.target获取不到,应该怎样获取 解决方案 JQuery: $("#first").text("ssss"); //"sss"字符串是你要刷新的数据

html5-HTML游戏在ios微信可以打开,但是在android的微信中打不开,请大家看看是什么问题。

问题描述 HTML游戏在ios微信可以打开,但是在android的微信中打不开,请大家看看是什么问题. http://app.ticashare.com/yoshinoya/game/game.php?wx_openid=oJI2rjtKG6LVPa8WMdJNOhxtm0Cc 这个上面的游戏在ios上面的微信可以打开,但是在android上面微信打不开,android原生浏览器打不开,UC浏览器可以打开.初步估计是html5对于android的浏览器的支持问题.请大家给出一个合理的建议.

visual studio-在libjpeg中加入局部读取模块

问题描述 在libjpeg中加入局部读取模块 基于VS C++平台,应该是在解码的过程中实现,可是对原理还不太清楚,所以不知如何写,求大神帮吗 解决方案 有的呀,百度很快的,不行就翻墙找谷歌...

jsp中页面局部刷新

问题描述 层1   id="yi"层2  id="er"层3     id="san"现在有三个层 (数据都是用el表达式,从session总获取的数据),现在jsp页面请求了后台的类方法 改变了session中的数据 如何让层3这个层重新加载数据? 问题补充:<div id="san"> <c:forEach items="${sessionScope.sessvalue}" var=&

ios-JS中如何让element.focus()在定时器中可以执行?

问题描述 JS中如何让element.focus()在定时器中可以执行? 在IOS中,element.focus()需要事件驱动的形式才能生效,但是setTimeout()中运行就会失效,请问有什么解决方法吗?

电脑中如何移除火狐Firefox浏览器中不需要的组件

  电脑中如何移除火狐Firefox浏览器中不需要的组件?我们知道在火狐Firefox浏览器中可以安装一些插件,来为浏览器增加更多功能.如果想要删除火狐浏览器中已经安装的不需要的组件,那么在电脑中具体应该如何操作呢?这时可以按照下面提供的方法步骤进行设置. 1.打开火狐Firefox浏览器,右击标题栏,勾选显示菜单栏; 2.点击菜单栏中的工具--附加组件; 3.打开附加组件管理器后,点击最左侧的组件小图标; 4.找到不需要使用的组件,点击右侧的"移除"按钮; 5.移除组件完成后,会显示

如何在java中实现读取一个txt文档中的随机一行

问题描述 如何在java中实现读取一个txt文档中的随机一行 如题,如何在java中实现读取一个txt文档中的随机一行? 主要就是怎么随机读取 解决方案 根据楼上的说法,来总结一下吧,总体来说,就是将文件全部都读取出来,每一行存储到一个数组或集合中,然后再通过产生随机数,来对这个数组或是 集合进行随机的访问.这样一来就解决了 解决方案二: 文本文件只能顺序读,不能随机读.你的需求只能是读取文本文件每一行到一个arraylist,然后得到下标范围,产生一个随机数,取那一行 解决方案三: http: