2.6. 类型(Core Data 应用程序实践指南)
- 单精度浮点数与双精度浮点数:创建NSManagedObject紫雷师,如果实体中单精度或双精度浮点数类型,那么在子类里,相关特性的类型是NSNumber。
- 小数:涉及货币时,建议设置为小数(decimal),精度高。特性类型为NSDecimalNumber,若要保留精度,只能使用NSDecimalNumber内置的方法。
- 字符串String:可以存放字符数组(array of character)或普通文本(plain old text)。对应特性为NSString。
- Boolean:对应特性为NSNumber,从NSNumber中获取Boolean值,只需向该实例发送boolValue消息即可。若想将NSNumber设置为某个Boolean值,可以使用numberWithBool方法。
- 日期类型:对应特性为NSDate。
- 二进制数据类型:照片、音频等二进制组成的连续BLOB。对应特性为NSData。例如,存照片时,用UIImagePNGRepresentation()或UIImageJPEGRepresentation(),把UIImage转换成NSData。获取照片时,用UIImage的imageWithData把UIImage转换成NSData。二进制数据类型对大数据文件比较合适,因为可以设置Allows External Storage属性,可以存储在数据库之外。Core Data 会自行判断把文件存放在数据库内效率高,还是存放在数据库外效率高。
- 可变类型(transformable):存放Objective-C对象,可以存放任意类型的实例。对应特性类型为id。将id存放如存储区(或从存储区取出来),需要借助NSValueTransformer类的实例或NSValueTransformer子类的实例。NSValueTransformer类可以在属性与NSData之间“透明地”执行转换。转换过程比较简单,尤其是实现了NSCoding协议时。假如实现了该协议,系统会提供默认的transformer,而这个transformer知道如何“压缩”(archive)或“解压缩”(un-archive)相关的对象。
- 修改name类型为String,quantity类型为Float。
- 添加photoData属性,类型为Binary Data。
- 添加listed属性,类型为Boolean,表示货品是否已经出现在购物清单中。
- 添加collected属性,类型为Boolean,表示是否已经拿到该货品。
2.6. 类型(Core Data 应用程序实践指南)的更多相关文章
- Core Data 应用程序实践指南(Core Data 应用程序实践指南)
译者序 前言 勘误 1. 初次尝试Core Data应用程序 本书的基础,基本概念,能做什么,不能做什么.实现CoreDataHelper类,演示如何将Core Data同既有的应用程序相集成. 2. ...
- 1.1.Core Data是什么(Core Data 应用程序实践指南)
Core Data是个框架,把数据当作对象来操作. 由Core Data提供的数据对象叫托管对象(managed objecgt),而Core Data 位于程序和持久化存储区之间. 托管对象模型里有 ...
- 3.2. 添加模板版本(Core Data 应用程序实践指南)
为了不像3.1那样崩溃,修改模型之前先创建新的模型版本.添加之后,会生成一个新的xcdatamodel文件,并且跟原来的内容完全一样,这有意思了,但是不要删除原来旧版的模型.旧的模型有助于把原来持久化 ...
- 2.7. 属性的各种设置选项(Core Data 应用程序实践指南)
可供配置的选项根据属性类型的不同有所变化,并不是每一种属性都能配置下列选项 Transient:勾选该选项,表示该属性不写入“持久化存储区”,这听起来很奇怪,但有时候,只需要把特性留在托管对象上下文就 ...
- 1.2.Core Data 的适用场合(Core Data 应用程序实践指南)
如果应用程序要保存的设置数据太多,以致NSUserDefaults及“属性列表“(property list)这种简单的存储方案无法应付.不需要再"重新发明轮子"(reinvent ...
- 1.4.2.3. SETUP(Core Data 应用程序实践指南)
初始化Core Data的三个方法: init,初始化托管对象模型.持久化存储协调器.托管对象上下文 - (id)init { ) { NSLog(@"Running %@ '%@'&quo ...
- 1.4.1. Core Data Helper 简介(Core Data 应用程序实践指南)
有些支持Core Data的内置模板是在应用程序委托里面设置Core Data的.但是为了模块化,我们通过应用程序委托惰性地创建CoreDataHelper类的实例: 初始化托管对象模型 根据托管对象 ...
- 3.3. 轻量级的迁移方式(Core Data 应用程序实践指南)
持久化存储协调器会试着用新版的模板打开原来的持久化存储区,但是那是旧的模板,旧的格式,当然会出错.现在要做的就是迁移现有的持久化数据区,以便跟新模型匹配. 怎么进行迁移呢? 在什么时候进行迁移? 在向 ...
- 2.5. Integer 16 、Integer 32、Integer 64(Core Data 应用程序实践指南)
Core Data 使用 “带符号的整数”,通常我们会选择Integer 32,如果不够,可以升级为Integer 64 (第3章),通过升级托管对象模型. 这三种类型对应的特性(Property)类 ...
随机推荐
- 配置snort
0.如果要输出到mysql,请安装barnyard2 在此之前,请启动并配置mysql git clone https://github.com/firnsy/barnyard2 cd barnyar ...
- 黄聪:基于Asp.net的CMS系统We7架设实验(环境WIN7,SQL2005,.NET3.5)(初学者参考贴)
http://www.cnblogs.com/huangcong/archive/2010/03/30/1700348.html
- HDU 4287 Intelligent IME(字典树)
在我没用hash之前,一直TLE,字符串处理时间过长,用了hash之后一直CE,(请看下图)我自从经历我的字典树G++MLE,C++AC以后,一直天真的用C++,后来的CE就是因为这个,G++才支持这 ...
- ActionBarSherlock,SlidingMenu
转自:http://www.chenwg.com/android/actionbarsherlock%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B.html Android3 ...
- 说说Android应用的persistent属性
转载地址:http://my.oschina.net/youranhongcha/blog 摘要 在Android系统中,有一种永久性应用.它们对应的AndroidManifest.xml文件里,会将 ...
- iOS之PCH文件
在Xcode6之前,创建一个新工程xcode会在Supporting files文件夹下面自动创建一个“工程名-Prefix.pch”文件,也是一个头文件,pch头文件的内容能被项目中的其他所有源文件 ...
- Mysql临时表的用法 - 51CTO.COM
body{ font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI& ...
- 8、手把手教你Extjs5(八)自定义菜单2
这一节来定义另外三种类型的菜单类.首先定义菜单按钮类.文件放于app/view/main/region目录下面,文件名为ButtonMainMenu.js. /** * 显示在顶部的按钮菜单,可以切换 ...
- linux命令学习-4-lsof
lsof(list open files)是一个列出当前系统打开文件的工具.在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件. 在终端下输入ls ...
- linux命令学习-3-sysctl
sysctl 内核变量配置 Usage: sysctl [options] [variable[=value] ...] NAME sysctl - configure kernel parame ...