DCModel 0.0.6

DCModel 0.0.6

测试测试
Lang语言 Obj-CObjective C
许可证 Apache 2
发布最新发布2014年12月

Dalton Cherry 维护。



DCModel 0.0.6

  • Dalton Cherry

DCModel 是核心数据 API 的轻量级简单抽象,同时适用于 iOS 和 Mac OS X,它是异步的。它从 active record(Ruby on Rails,你知道吗?)语法中借用,以使核心数据交互既有趣又简单。它还为您对象添加了主键验证以避免重复。我知道,你的大脑刚爆炸。看例子!

示例

首先,我们像往常一样创建一个 NSManagedObject 的子类,但我们也导入了 DCModel。

    #import "DCModel.h"

    @interface User : NSManagedObject

    @property(nonatomic,copy)NSString *name;
    @property(nonatomic,copy)NSString *firstName;
    @property(nonatomic,copy)NSString *lastName;
    @property(nonatomic,strong)NSNumber *age;
    @property(nonatomic,strong)NSNumber *employed;

    @end

然后,对于命令

创建/保存

创建一个新对象并保存它

User *john = [User newObject];
john.name = @"John";
john.firstName = @"John";
john.lastName = @"Doe";
john.age = @22;
[john saveOrUpdate:^(id item){
    NSLog(@"successfully saved %@",[item name]);
}failure:^(NSError* error){
    NSLog(@"got an error, that is no good: %@",[error localizedDescription]);
}];

查找/删除

查找并删除所有 john

[User where:@"name == John" success:^(id items){
    [User destroyObjects:items success:^{
        NSLog(@"deleted all the John's!");
    }failure:^(NSError* error){
        NSLog(@"got an error, that is no good: %@",[error localizedDescription]);
}];

查找/获取

有几种搜索方法可以帮助您找到所需的内容

[User all:^(NSArray *items){ 
    for(User* user in items)
        NSLog(@"User name: %@ age: %@",user.name,user.age);
}];

我们确保所有这些操作都是完全异步和线程安全的。不再需要在后台线程中管理 coreData 对象上下文,并确保您不会在这个过程中死锁,只需用干净的语法进行操作。您只要专注于制作出色的应用。

主键验证

好吧,那么我现在确信你想要了解我提到的主键验证。好吧,下面是

//add this to your implemention file of your NSManagedObject subclass (User.m in our example)
//return the property name of the key you want to be primary.
+(NSString*)primaryKey
{
    return @"name";
}

完成。现在每当您保存对象时,它都会进行验证以确保在添加之前该对象不存在。

需求/依赖关系

需要核心数据框架。

安装

推荐使用 CocoaPods 包管理器安装 DCModel,因为它提供灵活的依赖关系管理和简单的安装。

通过 CocoaPods

如果您尚未安装 CocoaPods,请先安装它

$ [sudo] gem install cocoapods
$ pod setup

切换到您的 Xcode 项目的目录,并创建和编辑您的 Podfile,并添加 DCModel

$ cd /path/to/MyProject
$ touch Podfile
$ edit Podfile
platform :ios, '5.0' 
# Or platform :osx, '10.7'
pod 'DCModel'

安装到您的项目中

$ pod install

从 .xcworkspace 文件(而不是通常的项目文件)打开您的项目

许可证

DCModel 在 Apache 许可证下发布。

联系

Dalton Cherry