iOS开发-监听

作者: PerhapYs | 来源:发表于2016-01-04 18:17 被阅读291次

监听

通知的方法

发送通知

[NSNotificationCenter defaultCenter] postNotification:<#(nonnull NSNotification *)#>

[NSNotificationCenter defaultCenter] postNotificationName:<#(nonnull NSString *)#> object:<#(nullable id)#> userInfo:<#(nullable NSDictionary *)#>

[NSNotificationCenter defaultCenter] postNotificationName:<#(nonnull NSString *)#> object:<#(nullable id)#>

接收通知

[NSNotificationCenter defaultCenter] addObserverForName:<#(nullable NSString *)#> object:<#(nullable id)#> queue:<#(nullable NSOperationQueue *)#> usingBlock:<#^(NSNotification * _Nonnull note)block#>

[NSNotificationCenter defaultCenter] addObserver:<#(nonnull NSObject *)#> forKeyPath:<#(nonnull NSString *)#> options:<#(NSKeyValueObservingOptions)#> context:<#(nullable void *)#>

[NSNotificationCenter defaultCenter] addObserver:<#(nonnull id)#> selector:<#(nonnull SEL)#> name:<#(nullable NSString *)#> object:<#(nullable id)#>

注销通知

- (void)dealloc
{
    [[NSNotificationCenter defaultCenter] removeObserver:self];
}

监听字典里的值

添加观察者

NSMutableDictionary *dic = [NSMutableDictionary new];

[dic addObserver:self forKeyPath:@"username" options:NSKeyValueObservingOptionNew context:nil];

[dic setObject:@"2132132" forKey:@"username"];

值改变后,调用的方法:

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context{
    
    NSLog(@"%@",object);
}

注销观察者

-(void)dealloc{

[dic removeObserver:self forKeyPath:@"username"];
}

监听键盘

  • UIKIT_EXTERN NSString *const UIKeyboardWillShowNotification;
  • UIKIT_EXTERN NSString *const UIKeyboardDidShowNotification;
  • UIKIT_EXTERN NSString *const UIKeyboardWillHideNotification;
  • UIKIT_EXTERN NSString *const UIKeyboardDidHideNotification;

添加观察者

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyBoardWillShowdEvent:) name:UIKeyboardWillShowNotification object:nil];

接收到通知,调用方法:

- (void)keyBoardWillShowdEvent:(NSNotification *)notification{
     NSLog(@"%@",notification.userInfo);
}

注销观察者

-(void)dealloc{

   [[NSNotificationCenter defaultCenter] removeObserver:self];
}

相关文章

  • iOS开发-监听

    监听 通知的方法 发送通知 接收通知 注销通知 监听字典里的值 添加观察者 值改变后,调用的方法: 注销观察者 监...

  • 实现导航栏渐变色,隐藏(类似知乎日报的主界面)

    参考文章 【瞎搞iOS开发02】监听ScrollView/TableView滚动的正确姿势 适配iOS11--co...

  • Mac OS 开发中监听键盘事件

    在iOS开发中,监听键盘比较好找。但是在Mac开发中监听键盘事件比较难找到相应的方法。下面的两个方法就是Mac开发...

  • iOS开发—网络监听

    网络监听用到的类为Reachability.h,这个Xcode项目里面是不自带的,需要从github上面下载,在使...

  • iOS开发 - 监听(NSNotificationCenter)

    场景:订单提交成功后pop返回上级页面,并弹出下一步功能操作的提示弹窗,多次反复提交订单发现提示弹窗会重复弹出多次...

  • 线程常驻内存

    iOS开发中,新创建的线程,执行完成后会销毁,如何让线程常驻内存 使用场景 随时监听某些状态改变,如监听网络状态

  • iOS开发 监听网络状态

    当用户第一次打开应用的时候,如果用户还没来得及点击同意连接网络,那么网络请求是失败的,所以,为了让APP的体验更好...

  • iOS开发键盘监听处理

    经常会用到在键盘弹出或消失的时候做一些相应处理,比如视图上下偏移来自适应,所以我们获取这个事件以及键盘的高度。

  • iOS开发监听键盘事件

    注册通知监听器,监听键盘弹起事件 注册通知监听器,监听键盘收起事件 键盘弹出调用该方法 键盘收起调用该方法 开始视...

  • iOS横竖屏开发(监听)

    项目涉及横屏竖屏都要开发的时候,并要设计两个UI; 所以监听横竖屏的变化的是必须的 - (void)viewWil...

网友评论

    本文标题:iOS开发-监听

    本文链接:https://www.haomeiwen.com/subject/cxrahttx.html