zoukankan      html  css  js  c++  java
  • coreData使用

    简介

      Core Data是iOS5之后才出现的一个框架,它提供了对象-关系映射(ORM)的功能,即能够将OC对象转化成数据,保存在SQLite数据库文件中,也能够将保存在数据库中的数据还原成OC对象。

    1.新建工程,记得勾选Use Core Data

    2.建立好以后可以看到xxx.xcdatamodeld,在这里可以添加实体和实体的属性。需要注意的是:实体名字必须以大写开头

    3.然后新建一个file,记得是NSManagedObject cubclass

    4.勾选自己建立的工程

    5、勾选建立的实体

    6.我们就可以看到建立好的实体是有4个文件

    7.

    #import "ViewController.h"

    #import "Dog.h"

    #import "AppDelegate.h"

    #import <CoreData/CoreData.h>

     

    @interface ViewController ()

    {

        AppDelegate *app;

    }

    @end

     

    @implementation ViewController

     

    - (void)viewDidLoad {

        [super viewDidLoad];

        app = [UIApplication sharedApplication].delegate;

        [self createButtons];

    }

     

    //创建按钮 

    - (void)createButtons{

        NSArray *array = @[@"", @"", @"", @""];

        for (int i = 0; i < 4; i++) {

            UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];

            button.frame = CGRectMake(30 + i * 60, 100, 40, 40);

            [button setTitle:array[i] forState:UIControlStateNormal];

            [button setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];

            [button addTarget:self action:@selector(buttonDidClicked:) forControlEvents:UIControlEventTouchUpInside];

            button.tag = i;

            [self.view addSubview:button];

            

        }

    }

     

    - (void)buttonDidClicked:(UIButton *)button{

        switch (button.tag) {

            case 0:

                //add

                [self coreDateAdd];

                break;

            case 1:

                //delete

                [self coreDataDelete];

                break;

            case 2:

                //update

                [self coreDataUpdate];

                break;

            case 3:

                //search

                [self coreDataSearch];

                break;

            default:

                break;

        }

    }

     

    //增

    - (void)coreDateAdd{

        Dog *dog = [NSEntityDescription insertNewObjectForEntityForName:@"Dog" inManagedObjectContext:app.managedObjectContext];

        dog.name = [NSString stringWithFormat:@"汪汪%d", arc4random()%10];

        dog.sex = @"";

        dog.age = [NSString stringWithFormat:@"%d", arc4random()%15];

        [app.managedObjectContext save:nil];

        NSLog(@"add success");

    }

     

    //删 

    - (void)coreDataDelete{

        //读取类

        NSEntityDescription *entity = [NSEntityDescription entityForName:@"Dog" inManagedObjectContext:app.managedObjectContext];

        //建立请求

        NSFetchRequest *request = [[NSFetchRequest alloc] init];

        [request setEntity:entity];

        

        //设置检索条件

        NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name=%@", @"汪汪7"];

        [request setPredicate:predicate];

        

        NSArray *array = [app.managedObjectContext executeFetchRequest:request error:nil];

        if (array.count) {

            for (Dog *dog in array) {

                [app.managedObjectContext deleteObject:dog];

            }

            [app.managedObjectContext save:nil];

            NSLog(@"delete succeed");

        } else{

            NSLog(@"no data");

        }

    }

     

    //改

    - (void)coreDataUpdate{

        //读取类

        NSEntityDescription *entity = [NSEntityDescription entityForName:@"Dog" inManagedObjectContext:app.managedObjectContext];

        //建立请求

        NSFetchRequest *request = [[NSFetchRequest alloc] init];

        [request setEntity:entity];

        

        //设置检索条件

        NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name!=%@", @"汪汪23"];

        [request setPredicate:predicate];

        

        //遍历

        NSArray *array = [app.managedObjectContext executeFetchRequest:request error:nil];

        if (array.count) {

            for (Dog *dog in array) {

                dog.name = @"汪汪23";

            }

            [app.managedObjectContext save:nil];

            NSLog(@"update succeed");

        } else{

            NSLog(@"no result");

        }

        

    }

     

    //查

    - (void)coreDataSearch{

        //读取类

        NSEntityDescription *entity = [NSEntityDescription entityForName:@"Dog" inManagedObjectContext:app.managedObjectContext];

        //建立请求

        NSFetchRequest *request = [[NSFetchRequest alloc] init];

        //建立请求的是哪一类

        [request setEntity:entity];

        //遍历数组

        NSArray *array = [app.managedObjectContext executeFetchRequest:request error:nil];

        for (Dog *dog in array) {

            NSLog(@"%@", dog.name);

        }

        

    }

     

     

     

     

    @end

  • 相关阅读:
    使用Java+SAP云平台+SAP Cloud Connector调用ABAP On-Premise系统里的函数
    使用Java程序消费SAP Leonardo的机器学习API
    如何在SAP Server Side JavaScript里消费destination
    使用HANA Web-based Development Workbench创建最简单的Server Side JavaScript
    如何用WebIDE打开并运行CRM Fiori应用
    SAP成都研究院的体育故事
    ABAP和Java的destination和JNDI
    使用SAP云平台 + JNDI访问Internet Service
    让SAP云平台上的Web应用使用destination服务
    如何处理SAP HANA Web-Based Development Workbench的403 Forbidden错误
  • 原文地址:https://www.cnblogs.com/hmzxwky/p/5474229.html
Copyright © 2011-2022 走看看