iOS CoreData

来源:互联网 发布:办淘宝卡的年龄限制 编辑:程序博客网 时间:2024/06/06 03:15

iOS CoreData在以前使用的时候,Create NSManagedObject Subclass...生成两个文件,如今的iOS版本生成的是4个文件,都是创建NSManagedObject。


这样在开始编译时可能会遇到错误,我们可以删掉如下图所指的地方就可以了。





CoreData简单实现增删改查:

////  ViewController.m//  coredata20170915////  Created by hkshen on 2017/9/15.//  Copyright © 2017年 hkshen. All rights reserved.//#import "ViewController.h"#import "Person+CoreDataClass.h"#import "ClientManage.h"#import "Card+CoreDataClass.h"#import "AppDelegate.h"@interface ViewController ()- (IBAction)doCoreDataCheck:(id)sender;@end@implementation ViewController- (void)viewDidLoad {    [super viewDidLoad];    // Do any additional setup after loading the view, typically from a nib.        //AppDelegate *appDelegate = [UIApplication sharedApplication].delegate;        // 增    Person *person = [NSEntityDescription insertNewObjectForEntityForName:@"Person" inManagedObjectContext:[ClientManage singletonInstance].managedObjectContext];    //person.age = [NSNumber numberWithInteger:40];    [person setValue:[NSNumber numberWithInt:27] forKey:@"age"];    person.name = @"hkshen";        Card *card = [NSEntityDescription insertNewObjectForEntityForName:@"Card" inManagedObjectContext:[ClientManage singletonInstance].managedObjectContext];    card.no = @"123456";        person.card = card;    card.person = person;        // 保存    NSError *error = nil;    if ([[ClientManage singletonInstance].managedObjectContext hasChanges] && ![[ClientManage singletonInstance].managedObjectContext save:&error]) {        NSLog(@"Unresolved error %@, %@", error, error.userInfo);        abort();    }}- (void)didReceiveMemoryWarning {    [super didReceiveMemoryWarning];    // Dispose of any resources that can be recreated.}#pragma mark - Button functions// 查- (IBAction)doCoreDataCheck:(id)sender {        // 初始化查询请求    NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];    NSEntityDescription *entityDescription = [NSEntityDescription entityForName:@"Person" inManagedObjectContext:[ClientManage singletonInstance].managedObjectContext];        // 排序方式    NSSortDescriptor *sortDescriptor = [NSSortDescriptor sortDescriptorWithKey:@"age" ascending:NO];    // 条件过滤    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name == %@", @"hkshen"];        fetchRequest.entity = entityDescription;    fetchRequest.sortDescriptors = [NSArray arrayWithObject:sortDescriptor];    fetchRequest.predicate = predicate;        NSArray *objectArray = [[ClientManage singletonInstance].managedObjectContext executeFetchRequest:fetchRequest error:nil];        if (objectArray) {        NSLog(@"objectArray:%@", objectArray);                // 改        Person *checkedPerson = [objectArray objectAtIndex:0];        checkedPerson.name = @"wanglanman";        NSLog(@"CheckedPerson:%@", checkedPerson);                // 删        //[[ClientManage singletonInstance].managedObjectContext deleteObject:checkedPerson];    }}@end

代码:github

原创粉丝点击