iOS开辟之观望者形式初探

作者: 编程应用  发布:2019-09-13

图片 1观望者格局.png图片 2观望者形式2.png

  • 当要求将转移文告全体的靶鸡时,而你又不理解那些目的的现实性品种
  • 更换产生在同多少个指标中,并索要更换别的对象将相关的景色进行立异且不晓得有多少个指标。
在在此之前的博文中曾经简单的涉嫌过一些通报的底子运用格局,所以部分中央的应用方法重新就不赘述。言归正传,在Cocoa Touch框架中NSNotificationCenterNSNotification指标实现了一对多的模型。通过NSNotificationCenter能够让对象之间张开报纸发表,即使那一个指标期间并不认知。下面大家来看下NSNotificationCenter揭橥信息的措施:
 NSNotification * subjectMessage = [ NSNotification notificationWithName:@"subjectMessage" object: self]; NSNotificationCenter * notificationCenter = [ NSNotificationCenter defaultCenter]; [notificationCenter postNotification:subjectMessage];

 NSNotificationCenter * notificationCenter1 = [ NSNotificationCenter defaultCenter]; [notificationCenter addObserver: self selector: @selector name:@"subjectMessage" object: nil ];

- update:(NSNotification*)notification{ if ([[notification name] isEqualToString:@"subjectMessage"]) { NSLog(@"%@",@"猴子派来的救兵去哪了?"); }}

- dealloc { [[NSNotificationCenter defaultCenter] removeObserver:self];}
KVO是Cocoa提供的一种叫做键值观望的建制,对象足以经过它赢得任何对象特定属性的改造布告。而这些机制是依照NSKeyValueObserving业余些,Cocoa因而这几个公约为拥有坚守公约的靶子提供了一种自动化的质量监听的效能。
虽然通知KVO都得以对观看者进行落到实处,不过他们中间可能略有差异的,由地点的事例咱们得以观察通告是由四个中坚指标为具备观望者提供更换通知,主要是广义上关切程序事件,而KVO则是被考查的指标直接想观望者发送公告,首若是绑定于特定目的属性的值。上边我们通过三个简便的事例来打听下他的有个别是采取办法
@property (nonatomic,copy) NSString * name;@property (nonatomic,copy) NSString * title;@property (nonatomic,assign) NSUInteger age;

 self.hero = [[Hero alloc] init]; self.hero.name = @"赵云"; self.hero.title = @"将军"; self.hero.age = 87;

[self.hero addObserver:self forKeyPath:@"name" options:NSKeyValueObservingOptionNew|NSKeyValueObservingOptionOld context:nil];

- touchesBegan:touches withEvent:(UIEvent *)event{ self.hero.name = @"张飞";}

- observeValueForKeyPath:(NSString *)keyPath ofObject:object change:(NSDictionary *)change context:context{ if([keyPath isEqualToString:@"name"]) { NSLog(@"赋值后--%@",self.hero.name); NSLog(@"新的值--%@",change[@"new"]); NSLog(@"以前的值--%@",change[@"old"]); }}

图片 3dayin.png

- dealloc{ [self.hero removeObserver:self forKeyPath:@"name"];}

本文由今晚开什么码发布于编程应用,转载请注明出处:iOS开辟之观望者形式初探

关键词:

上一篇:没有了
下一篇:没有了