CoreDataValidation 1.0

CoreDataValidation 1.0

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布日期最后发布2014年12月

Marcel Ruegenberg维护。



  • Marcel Ruegenberg

Core Data对象的验证

此项目提供了对Core Data中NSEntityDescription类的一个简单扩展。它允许您在创建NSManagedObject之前进行一些基本验证。

用法

#import "NSEntityDescription+DLValidation.h"

// ...

- (void)foo {
    NSEntityDescription *entity = ...;
    NSDictionary *item = ...; // a provisional object from which we intend to build a proper NSManagedObject

    NSString *errorProp;
    ValidationError err = [entity validateWith:item errorProperty:&errorProp];

    if(err == ValidationErrorNone) {
        // no error. build an object
        NSManagedObjectContext *context = ...; 
        NSManagedObject *obj = [[NSManagedObject alloc] initWithEntity:entity insertIntoManagedObjectContext:context];
        [obj setValuesForKeysWithDictionary:item];
    }
    else if(err & ValidationErrorMissingValue) {
        NSLog(@"Error: User didn't enter the value for %@", errorProp);
    }
    else if(err & ValidationErrorWrongCardinality) {
        NSLog(@"Error: There are too few or to many items in relationship %@", errorProp);
    }
    else if(err & ValidationErrorMissingRelationship) {
        NSLog(@"Error: Nothing is selected for to-one relationship %@", errorProp);
    }
}

联系方式

Travis CI build status

欢迎提交错误报告和拉取请求!只需发一封电子邮件或(更推荐)在GitHub上创建一个问题。