iOS解耦心得---B类修改A类中变量的另一种方法

需求描述

最近开发遇到这么一个需求,我们项目架构采用MVVM的变种模式,什么鬼?简单来说,在Model类和Controller类之间分离出专门处理数据逻辑的DataController层,假设A是我们的Controller层,B是DataController层.需求就是在B类中实现修改A类中的全局变量,实现方法有很多,下面的方法是我认为最elegant(zhuangbi)的
伪代码如下:

A:
{
    Var *globalVar//全局变量
}
     B *b = [B new];//实例化出b对象
     Var* c_globalVar = globalVar;//将全局变量转成局部变量
     [b showMeTheCode:&c_globalVar];
     globalVar = c_globalVar;
     NSLog(@“%@”,globalVar);
B.h:
     -(void)showMeTheCode:(Var **)c_pointer_addr;
B.m:
    -(void)showMeTheCode:(Var **)c_pointer_addr{
             *c_pointer_addr = new_c;//将修改有的new_c赋值给全局变量
    }

你可能感兴趣的:(iOS解耦心得---B类修改A类中变量的另一种方法)