iOS开发:消息中心(广播通知)

来源:互联网 发布:易观千帆 数据来源 编辑:程序博客网 时间:2024/04/28 22:49

*********************         iOS开发:消息中心          *******************

实现要求:用消息中心控制夜间模式

分析:首先要在每一页中注册一个消息中心,然后再最后一页(设置)定义一个switch(开关)。利用开关来控制向消息中心发送通知。然后返回来再每个页面接收消息中心发出的通知进行相应的改变。

进一步分析:在设置页面,当消息中心发出通知的同时,对此时的模式(夜间模式/自然模式)进行本地存储;

提升:消息中心的注册可以写成单例形式,但还是需要每个页面都得判断接收的通知是什么?

精华:写一个基类BaseViewController,继承与UIViewController,然后其他的viewcontroller都继承与BaseViewController,只需要在BaseViewController里面写一个消息中心的注册(改变颜色)和接收通知后做出相应改变(夜间模式/自然模式);

具体实现:

1.在基类的.m文件中,注册、接收通知(修改背景颜色和透明度)等


*viewWillAppear方法是本地存储的判断,如果说不进行本地存储,且每次进入一个界面时判断本地存储的是夜间模式还是自然模式,把界面返回到第一页,在回来的时候就不起作用的,因为此时的界面又是一个一个推出来的新的界面。

2、在设置页面:


*发送的通知是一个字典:接收的时候通过key 值获取value值。

1 0