THEME是主题名称
同理,所有涉及到界面的地方都要监听THEME通知,
1.创建路径:初始化时先从指定的plist文件中读取主题文件
2.根据路径初始化有关主题的数组
3.如果这个数组为空,初始化为0个对象
4.接口 :
-(BOOL)downLoad:(NSDictionary *)dic Block:(void (^) (BOOL))a
{
//1.保存block
//2.从字典中获得主题名称
//3.数组中保存这个主题文件: 根据名字判断主题是否已经存在
[self.dataArray containsObject:self.tempTheme];
//4.1存在:NSUserDefault保存——>通知中心发送通知post——>结束返回
//4.2 根据url发起网络请求——>
进行下载——>
下载完成保存文件——>
}
-(void)saveData:(NSData *)data
{
保存到指定文件——>
解压缩文件——>
用NSUserDefault记录主题名,启动的时候方便读取——>
//4.3主题持久化工作
将主题名字保存到数组中,将整个数组写到初始化时的plist文件目录中 ,(里面包含所有的主题名称) writeToFile
//4.4保存完发送主题广播 post
//4.5发送广播,调用回调函数
//4.6在MainTabBarController里面配置界面,相当于设置主题,不同主题,里面的图片的名字是不一样的
}
MainViewController:
-(void)dealloc{
[ [NSNotificationCenter defaultCenter] removeObserver:self name:THEME object :nil];
}
-(void)viewDidLoad
{
//顺序不可以颠倒
[self createTabBarItem];
//接收通知后一定要在第一次读取默认主题创建好之后再接收 createTabBarItem是布局界面的方法
[ [NSNotification defaultCenter] addObserver:self selector:@selector(createTabBarItem) name:THEME object:nil];
}
-(void)createTabBarItem
{
//设置界面主题图片
}
-(void)viewDidLoad
{
//顺序不可以颠倒
[self createTabBarItem];
//接收通知后一定要在第一次读取默认主题创建好之后再接收 createTabBarItem是布局界面的方法
[ [NSNotification defaultCenter] addObserver:self selector:@selector(createTabBarItem) name:THEME object:nil];
}
-(void)createTabBarItem
{
//设置界面主题图片
}