• coreDate 简化版


    建表:

    自动生成:

    代码:

    //
    //  RootViewController.m
    //  coreDate 简化版
    #import "RootViewController.h"
    #import "entity.h"
    #import "AppDelegate.h"
    @interface RootViewController ()
    {
        UILabel *label;
        NSInteger number;
        NSDictionary *Dic;
        NSMutableArray *arr;
        UILabel *age;
        BOOL isFirst;
    }
    @end
    
    @implementation RootViewController
    
    
    - (void)viewDidLoad {
        [super viewDidLoad];
        isFirst=NO;
        
        Dic=[[NSDictionary alloc]initWithObjectsAndKeys:@"one",@"1",@"two",@"2", nil];
        arr=[NSMutableArray arrayWithObjects:@"少年",@"青年",@"老年", nil];
        number=1;
        label=[[UILabel alloc]initWithFrame:CGRectMake(50, 100, 100,100)];
        label.font=[UIFont systemFontOfSize:12];
        label.textAlignment=NSTextAlignmentCenter;
        label.text=@"test";
        label.tag=1;
        label.backgroundColor=[UIColor cyanColor];
        
        age=[[UILabel alloc]initWithFrame:CGRectMake(200, 100, 100,100)];
        age.font=[UIFont systemFontOfSize:12];
        age.textAlignment=NSTextAlignmentCenter;
        age.text=@"25";
        age.tag=2;
        age.backgroundColor=[UIColor cyanColor];
        
        [self insertCoreData];
        [self dataFetchRequest];
        UIButton *btn=[UIButton buttonWithType:UIButtonTypeCustom];
        btn.frame=CGRectMake(50, 230, 100, 100);
        [btn setTitle:@"删除" forState:UIControlStateNormal];
        btn.backgroundColor=[UIColor purpleColor];
        [btn addTarget:self action:@selector(delete) forControlEvents:UIControlEventTouchUpInside];
        
        UIButton *btn1=[UIButton buttonWithType:UIButtonTypeCustom];
        btn1.frame=CGRectMake(50, 340, 100, 100);
        [btn1 setTitle:@"查找" forState:UIControlStateNormal];
        btn1.backgroundColor=[UIColor purpleColor];
        [btn1 addTarget:self action:@selector(seek) forControlEvents:UIControlEventTouchUpInside];
        UIButton *btn2=[UIButton buttonWithType:UIButtonTypeCustom];
        btn2.frame=CGRectMake(50, 450, 100, 100);
        [btn2 setTitle:@"增加" forState:UIControlStateNormal];
        btn2.backgroundColor=[UIColor purpleColor];
        [btn2 addTarget:self action:@selector(insertCoreData) forControlEvents:UIControlEventTouchUpInside];
        
    
        [self.view addSubview:btn1];
        [self.view addSubview:btn];
        [self.view addSubview:btn2];
        [self.view addSubview:label];
        [self.view addSubview:age];
    }
    
    -(void)seek
    {
        UIApplication * application = [UIApplication sharedApplication];
        //默认appDelegate就是UIApplication的代理
        AppDelegate * delegate = application.delegate;
        NSManagedObjectContext *context = [delegate managedObjectContext];
        NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
        NSEntityDescription *ent = [NSEntityDescription entityForName:@"Entity" inManagedObjectContext:context];
        [fetchRequest setEntity:ent];
        NSError *error;
        NSArray *fetchedObjects = [context executeFetchRequest:fetchRequest error:&error];
        
        if (![fetchedObjects count]) {
            NSLog(@"fetchedObjects 已全部删除");
        }
        
        for (entity *info in fetchedObjects) {
            
            NSLog(@"count:%ld",(unsigned long)[fetchedObjects count]);
            
            //adress字典查找
            NSString *jsonStringDic=[[NSString alloc]initWithFormat:@"%@",info.address];
            //字符串转化成data类型
            NSData *dataDic=[jsonStringDic dataUsingEncoding:NSUTF8StringEncoding];
            NSError *errDic;
            
            //将data类型转化成字典
            id jsonObjectDic = [NSJSONSerialization JSONObjectWithData:dataDic
                                                            options:NSJSONReadingAllowFragments
                                                              error:&errDic];
    
            //根据key进行查找
            label.text=[jsonObjectDic objectForKey:@"2"];
            //age 数组查找
            NSString *jsonStringArr=[[NSString alloc]initWithFormat:@"%@",info.age];
            NSData *dataArr=[jsonStringArr dataUsingEncoding:NSUTF8StringEncoding];
            NSError *errArr;
            id jsonObjectArr=[NSJSONSerialization JSONObjectWithData:dataArr options:NSJSONReadingAllowFragments error:&errArr];
            age.text=[jsonObjectArr objectAtIndex:2];
            
            
            NSLog(@"***************age.text0=%@",jsonObjectArr[0]);
            NSLog(@"***************age.text1=%@",jsonObjectArr[1]);
            NSLog(@"***************age.text3=%@",jsonObjectArr[2]);
    
        }
    }
    -(void)delete
    {
    
        UIApplication * application = [UIApplication sharedApplication];
        //默认appDelegate就是UIApplication的代理
        AppDelegate * delegate = application.delegate;
        NSManagedObjectContext *context = [delegate managedObjectContext];
        NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
        NSEntityDescription *ent = [NSEntityDescription entityForName:@"Entity" inManagedObjectContext:context];
        [fetchRequest setEntity:ent];
        
        NSError *error;
        NSArray *fetchedObjects = [context executeFetchRequest:fetchRequest error:&error];
    
        for (entity *info in fetchedObjects) {
            NSLog(@"%@",info);
            //删除  整体都会删除
            [context deleteObject:info];
        }
        number ++;
        //coredata 数据保存
        if ([context save:&error]) {
            //更新成功
            NSLog(@"更新成功");
        }
    }
    
    -(void)insertCoreData
    {
        if (isFirst) {
            UIApplication * application = [UIApplication sharedApplication];
            //默认appDelegate就是UIApplication的代理
            AppDelegate * delegate = application.delegate;
            NSManagedObjectContext *context = [delegate managedObjectContext];
            
            entity *entity = [NSEntityDescription insertNewObjectForEntityForName:@"Entity" inManagedObjectContext:context];
            
            entity.name = @"test";
            
            NSError *errDic;
            //字典转化成data类型,再转化成string进行保存
            //注意:是 NSData 不是 NSDate(时间)
            NSData *dataDic=[NSJSONSerialization dataWithJSONObject:Dic options:NSJSONWritingPrettyPrinted error:&errDic];
            NSString *jsonString=[[NSString alloc]initWithData:dataDic encoding:NSUTF8StringEncoding];
            
            entity.address=jsonString;
            
            //保存数组
            NSError *errArr;
            NSData *dataArr=[NSJSONSerialization dataWithJSONObject:arr options:NSJSONWritingPrettyPrinted error:&errArr];
            NSString *jsonArr=[[NSString alloc]initWithData:dataArr encoding:NSUTF8StringEncoding];
            
            entity.age=jsonArr;
            
            NSError *error;
            if(![context save:&error])
            {
                NSLog(@"不能保存:%@",[error localizedDescription]);
            }
        }
        else
        {
            isFirst=YES;
        }
    }@end
  • 相关阅读:
    赫尔维茨公式
    从解析几何的角度分析二次型
    Struts 1 Struts 2
    记一次服务器被入侵的调查取证
    契约式设计 契约式编程 Design by contract
    lsblk df
    Linux Find Out Last System Reboot Time and Date Command 登录安全 开关机 记录 帐号审计 历史记录命令条数
    Infrastructure for container projects.
    更新文档 版本控制 多版本并发控制
    Building Microservices: Using an API Gateway
  • 原文地址:https://www.cnblogs.com/sayimba/p/5663596.html
Copyright © 2020-2023  润新知