JC专题

关于抽取工具类思想-数据持久化的考虑

2015-07-28  本文已影响172人  Little_Dragon

那么我就可以让自己的工具类 ToolSave 设置一个类方法 + (instancetype)setObject:(id)id forKey:(NSString *)string;
它的实现可以这样写,让其内部调用系统方法即可,(相当于骗一骗用户,或者不懂的人,但这种思维是必须要有的,因为你的方法名,必须要有依有据)
实现:

 + (instancetype)setObject:(id)id forKey:(NSString *)string
     {
          return [ [ NSUserDefaults standardUserDefaults] setObject:id forKey:string];

          }

那么外边调用的时候,只需有头文件导入然后 直接 调用 [ToolSave setObject: forKey:];就可以进行数据的存储。

#import "AppDelegate.h"
#import "LXLTabBarController.h"
#import "LXLLaunchViewController.h"
#import "SaveTool.h"#import "RootTool.h"
@interface AppDelegate ()
@property(copy,nonatomic)NSString *lastVision;
@end
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {       self.window = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];
   
  
     self.window.rootViewController = [RootTool rootVc];
    
// 对与以下的判断展示给外界让人看到,就有点烦
// 如果能够简练到, 创建主窗口 -> 设置主窗口的根控制器 -> 显示主窗口 就最好了。 蓝色部分就是 整改后的代码 。 如果将黄色部分都去掉的话,那么此处的代码是不是很具有生命。
  /* NSString *curVision = [NSBundle mainBundle].infoDictionary[@"CFBundleShortVersionString"];    
NSLog(@"%@",curVision);      
 _lastVision = [SaveTool objectForKey:@"vision"];             
 if (![_lastVision isEqualToString:curVision]) {

        LXLLaunchViewController  *colVc = [[LXLLaunchViewController alloc]init];        
colVc.view.backgroundColor = [UIColor redColor];        
colVc.collectionView.backgroundColor = [UIColor redColor];        
self.window.rootViewController = colVc;        
[SaveTool setObject:curVision forKey:@"vision"];       
 _lastVision = curVision;    }
else       {
LXLTabBarController *tabVC = [[LXLTabBarController alloc]init];          
 self.window.rootViewController = tabVC;}  */    
 [self.window makeKeyAndVisible];          
return YES;
}
+ (instancetype)rootVc
{
       NSString *curVision = [NSBundle mainBundle].infoDictionary[@"CFBundleShortVersionString"];
    NSLog(@"%@",curVision); 
      
NSString *lastVision = [SaveTool objectForKey:@"vision”
];

    UIViewController *vc;   
 if (![lastVision isEqualToString:curVision]) {
      
        vc = [[LXLLaunchViewController alloc]init];              
vc.view.backgroundColor = [UIColor redColor];
     
        [SaveTool setObject:curVision forKey:@"vision"];
       
        lastVision = curVision;
        return vc;
    }else
    {
          vc = [[LXLTabBarController alloc]init];
    }
return vc;
}
上一篇 下一篇

猜你喜欢

热点阅读