zoukankan      html  css  js  c++  java
  • 关于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"]]);
  • 相关阅读:
    身份证验证(c#和js)
    获取焦点问题
    关于加载设计器遇到一个或多个错误问题的解决方案
    关于如何使用自定义的结束消息循环的方式 (转载)
    多种重要源码下载
    关于线程同步(转载)
    ArrayList的使用技巧
    一些所谓有利于家庭生活的优点
    080801 30℃
    080731 31℃
  • 原文地址:https://www.cnblogs.com/jackma86/p/5131338.html
Copyright © 2011-2022 走看看