当前位置: 首页 > news >正文

如何建设数据报表网站区块链开发

如何建设数据报表网站,区块链开发,北京短视频拍摄公司,佛山网站建设公司怎么样观察者模式#xff0c;采用气象站的例子来说明#xff0c;本质上跟Java来实现差不多。只不过是针对协议#xff08;Delegate#xff09;来编程。 简单说下需求#xff0c;气象显示版向气象站注册成功订阅者#xff08;观察者#xff09;#xff0c;气象站监测到气温发生…观察者模式采用气象站的例子来说明本质上跟Java来实现差不多。只不过是针对协议Delegate来编程。 简单说下需求气象显示版向气象站注册成功订阅者观察者气象站监测到气温发生变化向各个已注册的气象显示版发出通知。 遵守针对接口编程的原则先来写Delegate. 第一个需要被气象站实现的订阅和取消订阅的方法。 #import ObserverModel.hprotocol SubjectProtocol NSObject- (void) registerObserver:(idObserverModel) obs; - (void) removeObserver:(idObserverModel) obs; - (void) notifyObservers;end 上面被register和remove的是一个实现了ObserverModel的对象。 protocol ObserverModel NSObject - (void) updateWithTemp:(float) temp withHumidity:(float)humidity withPressure:(float)pressure; endprotocol DisplayDelegate NSObject - (void) display; end OK下面进行气象站的具体编码。气象站需要四个属性温度、湿度、气压、订阅者集合。 interface WeatherData : NSObject SubjectProtocol{NSMutableArray * _objArray;float _tempurature;float _humidity;float _pressure; } property (nonatomic, retain) NSMutableArray * objArray; property (nonatomic, assign) float tempurature; property (nonatomic, assign) float humidity; property (nonatomic, assign) float pressure;- (id) initWithArray; - (void) registerObserver:(idObserverModel)obs; - (void) removeObserver:(idObserverModel)obs; - (void) notifyObservers; - (void) measurementChanged; - (void) setMeasurementsWithTemp:(float)temp withHumidity:(float)humidity withPressure:(float)pressure; end 对应方法的实现 synthesize objArray _objArray; synthesize humidity _humidity; synthesize tempurature _tempurature; synthesize pressure _pressure;- (id) initWithArray{self [super init];if (self) {_objArray [[NSMutableArray alloc] initWithCapacity:10];}return self; }- (void) registerObserver:(idObserverModel)obs{[_objArray addObject:obs]; }- (void) removeObserver:(idObserverModel)obs{int i [_objArray indexOfObject:obs];if (i0) {[_objArray removeObjectAtIndex:i];} }- (void) notifyObservers{for (int i 0; i [_objArray count]; i) {idObserverModel obj (idObserverModel)[_objArray objectAtIndex:i];[obj updateWithTemp:_tempurature withHumidity:_humidity withPressure:_pressure];} }- (void) measurementChanged{[self notifyObservers]; }- (void) setMeasurementsWithTemp:(float)temp withHumidity:(float)humidity withPressure:(float)pressure{_tempurature temp;_humidity humidity;_pressure pressure;[self measurementChanged]; } 气象显示板的实现初始化的时候应该把气象站出入使得该气象显示板决定是否向气象显示板注册订阅气象。 interface CurrentConditionsDisplay : NSObject ObserverModel,DisplayDelegate{float _temperature;float _humidity;idSubjectProtocol _weatherData; } - (void) CurrentConditionsDisplayWithObj:(idSubjectProtocol ) weatherData; - (void) updateWithTemp:(float)temp withHumidity:(float)humidity withPressure:(float)pressure; end 同时显示板应该实现接口中的属性更新方法和显示方法。 - (void) CurrentConditionsDisplayWithObj:(idSubjectProtocol ) weatherData{_weatherData weatherData;[weatherData registerObserver:self]; } - (void) updateWithTemp:(float)temp withHumidity:(float)humidity withPressure:(float)pressure{_temperature temp;_humidity humidity;[self display]; }- (void) display{NSLog(Temperature is %f and Humidity is %f,_temperature,_humidity); } 最后进行整体的实例化看看气象站是不是能正常工作了。 WeatherData * weatherData [[WeatherData alloc] initWithArray]; CurrentConditionsDisplay * cCD [[CurrentConditionsDisplay alloc] init]; [cCD CurrentConditionsDisplayWithObj:weatherData]; [weatherData setMeasurementsWithTemp:20.0 withHumidity:22.0 withPressure:24.0]; [weatherData setMeasurementsWithTemp:30.0 withHumidity:32.0 withPressure:34.0]; 转载于:https://www.cnblogs.com/andywordsworth/archive/2012/04/12/2445019.html
http://www.zqtcl.cn/news/451899/

相关文章:

  • 长沙做网站的公司有哪些宁波奉化建设局网站
  • 温岭专业自适应网站建设承德招聘信息网
  • 做公司网站的模板下载wordpress e
  • 网站建设基本知识wordpress 没有小工具
  • 北京完美建设有限公司网站酒店加盟
  • 山东网络推广网站德州市建设局质监站网站
  • api模式网站开发网站打开后显示建设中
  • 排名好的郑州网站建设免费营销培训
  • 美橙互联网站网站主要应用
  • 淘宝客网站做appuv推广平台
  • 网站公司可以做英文网吗图片加字制作免费
  • 海口个人建站模板精品课程云网站建设
  • 阿里网站空间莱芜新闻视频回放
  • 高清网站建设的好处wordpress 房产模板
  • 在建工程查询网站怎么自己开发网站
  • 旧电脑怎么做网站如何自己弄个免费网站
  • 聊城网站营销WordPress工作发布
  • 建造网站需要什么汽车网站建设
  • 网站建设app郑州发布评论
  • 福州网站制作建设网页设计图片是怎么显示的
  • 天津通用网站建设收费网站建设怎么在png上写文字
  • 浏阳做网站报价高校网站站群建设公司
  • 海口网站提升排名网站建设与管理考试题
  • 做网站的算什么行业ui视觉设计常用软件是什么
  • 成都网站建设公司哪家好西安搬家公司哪家便宜
  • 程序员自己做网站怎么能来钱上海猎头公司哪家好
  • 无忧网站建设哪家好手机网站php开发
  • 如何仿制一个网站wordpress+主题课堂
  • 公明做网站渭南网站开发
  • 网站优化排名多少钱查备案网站备案