场景:两个界面A,B(A跳转B界面)同时需要引用同一个model,并修改.
问题是:在B中如果直接用一个同类型model的属性来接受A界面传过来的Model时,在B界面修改model后,A界面对应的model也会发生变化.
要求:A,B对相同数据的model,进行引用修改彼此不影响.
解决思路:利用第三方MJExtension的模型转字典,再用字典转成模型,传值给B,就OK了。(多层嵌套模型也OK)
UIViewController *B = [UIViewController new];
//用mj_keyValues方法,将模型转成字典
NSDictionary *dic = model.mj_keyValues;
//字典再转成模型
B.model = [objModel mj_objectWithKeyValues:dic];
[g_App.rootNavigationVC pushViewController:B animated:YES];