• 关于Core Data的一些整理(二)


    关于Core Data的一些整理(二)

    创建NSManagedObject的子类时,有一点是在这中间要强调的一点是,要不要勾选 Use scalar properties for primitive data types。

    勾选上这个选项之后就是使用的是你在定义的时候使用的原始数据类型。

    如果没有勾选的话,就会存在类型的转化,转换情况如下:

    • String maps to String
    • Integer 16/32/64, Float, Double and Boolean map to NSNumber 
    • Decimal maps to NSDecimalNumber
    • Date maps to NSDate
    • Binary data maps to NSData
    • Transformable maps to AnyObject

    之后生成四个文件如下:

    上面两个负责数据属性部分,下面两个负责数据操作部分
    若在使用中修改了Core Data文件,重新创建子类即可,新生成的文件只有上面两个并覆盖原来的文件,下面的数据操作部分并不会新建
    代码需要注意的地方不多,有下面两点:
    • 为NSFetchRequest添加NSPredicate条件
    1 //建立匹配请求,并添加判断语句
    2   NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Bowtie"];
    3   NSString *firstTitle = [self.segmentedControl titleForSegmentAtIndex:0];
    4   request.predicate = [NSPredicate predicateWithFormat:@"searchKey == %@", firstTitle];
    5   NSArray *results = [self.managedContext executeFetchRequest:request error:nil];
    6   self.currentBowtie = results.firstObject;
    • 保存图片时可以选择Allows External Storage,你数据库内存的就不是图片,而是图片在你文件夹内的路径

    1   //对图片保存进行处理
    2   NSEntityDescription *entity = [NSEntityDescription entityForName:@"Bowtie" inManagedObjectContext:self.managedContext];
    3   Bowtie *bowtie = [[Bowtie alloc] initWithEntity:entity insertIntoManagedObjectContext:self.managedContext];
    4   bowtie.photoData = UIImagePNGRepresentation([UIImage imageNamed:dict[@"imageName"]]);
  • 相关阅读:
    vim同时打开编辑多个文件
    OOB区之初认识
    nandflash擦除、写操作的状态判断
    NFS挂载文件系统:unable to get mount port number from server, using default
    交叉调试出错
    (转)C++中extern “C”含义深层探索
    arm汇编程序中的[|]
    nanflash编程的地址问题
    c# ListView控件的常用屬性、方法及事件
    ListBox常用屬性和常用事件
  • 原文地址:https://www.cnblogs.com/jackma86/p/5131338.html
Copyright © 2020-2023  润新知