UI:文件操作、通知中心
2015-10-01 18:00
465 查看
对文件的操作:
View Code Listener文件
通知在UI中对于子线程和重线程的解决方案:
当用NSNotification,在回调函数里面对tableview进行reloadData时,并不能更新UI,而且还会导致以后都更新不了。后来查了一些资料才发现,postNotification之后调用回调函数,相当于开了一个子线程,而子线程中是不能更新UI的。所以要想在notification的回调里面更新UI,必须用
dispatch_async(dispath_get_main_queue(),^{
[tableview reloadData];
}];
(总结)代码中的全局变量的使用, 定时器循环调用一个方法,通知中心的单例对象的创建
NSNotification 里面有三个参数,点开查看:
@interface NSNotification : NSObject <NSCopying, NSCoding>
@property (readonly, copy) NSString *name;
@property (readonly, retain) id object;
@property (readonly, copy) NSDictionary *userInfo;
上面的三个参数于我们 消息中心 NSNotificationCenter 的消息发送对象里面的三个参数对应,这就是为啥监听者类在接受消息的时候,要进行注册的缘故。
————————————————————————————————————————————————————————(.h文件) #import <Foundation/Foundation.h> @interface Listener : NSObject //想听广播 -(void)wantToListern; @end ————————————————————————————————————————————————————————(.m文件) #import "Listener.h" @implementation Listener //想听广播 -(void)wantToListern{ //1.要注册 //param1 ,param2 这两个参数是只要有BJBroadcoast 广播就调用 [self recvBcast:]方法。 //这里 name 的属性值要与前面的 通知中心的第三个参数通知内容(字典中的数据一致) [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(recvBcast:) name:@"BJBroadcoast" object:nil]; //2.要真正的接受广播数据 } -(void)recvBcast:(NSNotification *)notify{ //notify 就是具体的广播消息 NSLog(@"notify is %@",notify.name); } @end
View Code Listener文件
通知在UI中对于子线程和重线程的解决方案:
当用NSNotification,在回调函数里面对tableview进行reloadData时,并不能更新UI,而且还会导致以后都更新不了。后来查了一些资料才发现,postNotification之后调用回调函数,相当于开了一个子线程,而子线程中是不能更新UI的。所以要想在notification的回调里面更新UI,必须用
dispatch_async(dispath_get_main_queue(),^{
[tableview reloadData];
}];
(总结)代码中的全局变量的使用, 定时器循环调用一个方法,通知中心的单例对象的创建
NSNotification 里面有三个参数,点开查看:
@interface NSNotification : NSObject <NSCopying, NSCoding>
@property (readonly, copy) NSString *name;
@property (readonly, retain) id object;
@property (readonly, copy) NSDictionary *userInfo;
上面的三个参数于我们 消息中心 NSNotificationCenter 的消息发送对象里面的三个参数对应,这就是为啥监听者类在接受消息的时候,要进行注册的缘故。
相关文章推荐
- UITabBarController详细说明(简介和设置)
- 《Hadoop: The Definitive Guide》读书笔记 -- Chapter 1 Meet Hadoop
- js中关于value的一个小知识点(value既是属性也是变量)
- easyui datagrid加载数据和分页
- UIButton是UIImageView的子控件无法与用户交互
- 显示器 RUIGE瑞鸽高清显示器TL-S1700HD
- 远程调用服务(RPC)和消息(Message Queue)对比及其适用/不适用场合
- UIDynamic-动力效果
- poj(2299)——Ultra-QuickSort(归并排序求逆序数)
- iOS UITextView的使用(小小阅读器实现)
- ZOJ-1649 Rescue
- BlockingQueue
- How do you make Ubuntu accept files sent over bluetooth
- iOS开发之 UIDynamic (动力效果)
- 强连通图之HDU2767 Proving Equivalences
- iOS: 工具栏控件UIToolBar和工具栏按钮控件UIBarButtonItem的使用
- easyui 之 data-option
- iOS开发入门_视图控制器_UI_02
- Android stuido Gradle模式的使用
- SpriteBuilder中子节点的相对位置(%百分比定位)