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"]]);
  • 相关阅读:
    springMVC工作原理
    关于VS调试Web 无法启动IIS Express Web 服务器的问题解决
    用泛型创建SqlServerHelper类实现增删改查(一)
    laytpl--前端数据绑定
    安装.NET Core 运行时和托管包后,.Net Core项目选择不到安装的.Net Core Sdk,导致项目加载失败
    .Net上传图片的一些问题
    微信退款参数格式错误
    Ajax设置自定义请求头的两种方法
    asp.net获取当前请求的url
    Windows服务器上使用phpstudy部署PHP程序
  • 原文地址:https://www.cnblogs.com/jackma86/p/5131338.html
Copyright © 2011-2022 走看看