iOS:Core Data 中的简单ORM

我们首先在xcdatamodel文件中设计我们的数据库:例如我建立一个Data的实体,里面有一个String类型的属性name以及一个Integer类型的num:

 

然后选中Data,添加文件,选择NSManagedObject subclass类型:

xcode就会自动帮我们的数据库自动映射出对象了,生成Data.h  Data.m文件,Data为 NSManagedObject派生的子类,

复制代码
#import <Foundation/Foundation.h>
#import <CoreData/CoreData.h>


@interface Data : NSManagedObject

@property (nonatomic, retain) NSString * name;
@property (nonatomic, retain) NSNumber * num;

@end
复制代码
复制代码
#import "Data.h"


@implementation Data

@dynamic name;
@dynamic num;

@end
复制代码

我们在需要用到存储CoreData的地方,直接使用Data对象就行,当然,你需要import Data.h 先,例如我demo的代码:

复制代码
-(void) saveDataWithName:(NSString *) Name andNum:(int ) Num{
    AppDelegate *appDelegate=[[UIApplication sharedApplication] delegate];
    NSManagedObjectContext *context = appDelegate.managedObjectContext;
    //save Data
    Data *data = [NSEntityDescription insertNewObjectForEntityForName:@"Data" inManagedObjectContext:context];
    data.name = Name;
    data.num = [NSNumber numberWithInt:Num];
    [appDelegate saveContext];
    
    
    //get Data 
    NSError *error;
    NSFetchRequest *request=[[NSFetchRequest alloc] init];
    NSEntityDescription *entity=[NSEntityDescription entityForName:@"Data" inManagedObjectContext:context];
    [request setEntity:entity];
    
    NSArray *results=[[context executeFetchRequest:request error:&error] copy];
    
    for (Data *d in results) {
        NSLog(@">> date.name: %@ data.num: %i",d.name,[d.num intValue]);
    }
}
复制代码

 

其实之前的做法(iphone开发中的数据存储:Core Data)是直接使用NSManagedObject对象去存取,现在则把它映射到对应对象里面,当然在数据库复杂的时候,其好处会体现出来。

简单的ORM in iOS就是这些。

 

参照:http://marshal.easymorse.com/archives/3377

 

   
 

 

转载于:https://www.cnblogs.com/ZGSmile/p/3488181.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值