首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

「死磕」Core Data——入门

Managed Object Context。 可以理解是一块内存,提供了和Managed Objects交互场所。也称为:The Context或者MOC。...Managed Object Model 直观点,你可以把它理解就是Xcode中后缀xcdatamodel文件。...在这个文件里,你可以通过非代码、可视化方式,定义对象、对象属性、对象之间关系(Core Data把对象称呼「实体」、对象属性称呼「特性」)。...而在iOS10中,则会自动打开版本迁移功能,并默认设置数据类型NSSQLiteStoreType(见上面的名词:「NSPersistentStoreDescription」)。...Relationships也会生成对应属性:「对多」关系是NSSet/NSOrderSet类型属性(本质是个集合),「对一」关系则是非集合对象类型属性。

1.1K20
您找到你想要的搜索结果了吗?
是的
没有找到

RxJava 学习笔记总结(一)

public String apply(Integer integer, String s) throws Exception { return "下标...E/observable2--->: a E/subscribe--->: 下标:0,内容:a E/observable2--->: b E/subscribe--->: 下标:1,内容:b E.../observable2--->: c E/subscribe--->: 下标:2,内容:c E/observable2--->: d E/subscribe--->: 下标:3,内容:d E/...说实话这个操作符它能用在什么地方我没有具体运用场景,可以试想一下,假设一个页面的数据需要请求多个接口然后再统一渲染,如果他们返回不同,那么我们在 merge 里处理返回必须 Object 再去判断其类型...,而且这样做还有一个严重Bug,那就是假设返回了 null,我们无法判断是哪个接口返回空,假设需求返回数据类型是一致,然后我们需要在一个页面请求两个接口来合并处理它,感觉这个操作符能够运用场景比较极端

30720

微信移动端数据库组件WCDB系列(一)-iOS基础篇

背景 ---- 对于iOS开发者来说,数据库技术选型一直是个令人头痛问题。 由于Apple提供CoreData框架差强人意,使得开发者们纷纷将目光投向开源社区,寻找更好存储方案。 ...FMDB   它基于SQLite封装,对于有SQLite和ObjC基础开发者来说,简单易懂,可以直接上手;而缺点也正是在此,FMDB只是将SQLiteC接口封装成了ObjC接口,没有做太多别的优化,...同时,key-value数据库对较为复杂查询场景也比较无力。 可见,各个方案都有其独特优势及劣势,没有最好,只有最适合。...、orderBy、limit等接口返回均为self,因此可以通过链式调用,更自然更灵活写出对应查询。...安装完成后重启Xcode,新建文件,即可看到对应文件模版 选择WCTColumnCoding Class:需要进行字段绑定类,这里以NSDate例 Language:WCDB支持绑定ObjC类和

2.2K80

微信移动端数据库组件 WCDB 系列:iOS 基础篇(一)

背景对于iOS开发者来说,数据库技术选型一直是个令人头痛问题。由于Apple提供CoreData框架差强人意,使得开发者们纷纷将目光投向开源社区,寻找更好存储方案。 对于微信也是如此。...FMDB 它基于SQLite封装,对于有SQLite和ObjC基础开发者来说,简单易懂,可以直接上手;而缺点也正是在此,FMDB只是将SQLiteC接口封装成了ObjC接口,没有做太多别的优化...同时,key-value数据库对较为复杂查询场景也比较无力。 可见,各个方案都有其独特优势及劣势,没有最好,只有最适合。..._9259_1500352681848.png] where、orderBy、limit等接口返回均为self,因此可以通过链式调用,更自然更灵活写出对应查询。...,这里以NSDate例 Language:WCDB支持绑定ObjC类和C++类,这里选择Objective-C Type In DataBase:类对应数据库中类型

5.8K31

OC学习13——Foundation框架中集合

集合类和数组不一样,数组元素既可以是基本类型,也可以是对象(实际上保存是对象指针变量),而集合里则只能保存对象(实际上保存是对象指针变量,但通常认为集合里爆粗你是对象)。...来创建NSArray   参考NSArray类文档,可以看到NSArray集合方法大致包含如下几类: 查询集合元素在NSArray中索引,即下标 根据索引取出NSArray集合中元素 对集合元素整体调用方法...判断标准是这样: 先调用hash方法得到该对象hashCode,然后根据该hashCode决定该对象在底层hash表中存储位置,如果该hashCode对应存储位置上没有存储元素,则系统将直接将该对象存储到对应位置上...实际上,NSDictoinary中包含了一个allKeys方法,只是该方法返回是NSArray类型,其实是该方法内部已经将NSSet集合进一步转化为NSArray了。   ...类型,只有当代码块返回YES时,该key才会被保留下来,该代码块接受三个参数,其中第一个参数代表正在处理key,第二个参数代表正在处理value,第三个参数代表是否还需要继续迭代,如果第三个参数设置

2K80

iOS开发笔记(九)— 数据库、Crash、内存问题分析

问题定位:经过调试发现,从竖屏到横屏时候,系统会改变UITabbar高度;而我们底部栏高度是自定义,故而会导致系统修改后高度与自定义不相同情况。...解决方案,KVO: - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary...2、CoreData数据库升级时间长 问题描述:App在升级时候会对CoreData数据库进行一次迁移,而某些用户反馈升级时间长达数分钟。...(不能通过行数直接判断数据库大小,因为表列数不确定;也不能通过列大小*行数得到表体积,因为某些字段空) 修复方案: 对瓶颈表进行行数和体积双重控制; 对某些行数较多但表体积小表建索引; 引用:...2、指针类型是SInt16*, 计算地址要注意; [] 是下标运算符,根据操作数和偏移量,获取指定地址; 在此题之中,buffer[15]等于*(buffer + 15); &buffer[

86920

储存篇 - CoreData使用大全

2、选择文件类型, 如下图: ? 3、设置文件名,如下图: ? 4、模型文件创建成功,会出现以后 ?...(可以在需要用地方直接引用这个类,这个类内部已经引用了后面两个类), 后两个属性类文件。...因为系统并没有帮我们适配旧系统,所以如果App要在非iOS10旧系统运行,还需要做类似上面 “搭建上下文环境”工作,因为那里代码在iOS10以下和以上代码中都可以执行。...这里有个坑,在Xcode8中,Codegen下拉选择框中增加了Class/Definition这一选项,而且是默认预设,这时候系统会自动帮我们这个实体创建了NSManagedObject子类,我们不需要再创建实体类...对.xcdatamodeld文件进行你想要修改 创建NSPersistentStore时候,options参数传一个dictionary,如下: NSDictionary *options = [

2.5K20

【MobX】390- MobX 入门教程(上)

observable 可以是 JS原始数据类型、引用类型、普通对象、类实例、数组和映射。..., obj.b) // 11 22 obj.a = "leo"; console.log(obj.a, obj.b) // leo 22 需要注意是:应该避免下标越界去方法数组中,这样数据将不会被...boolean 设置 true 以自动保持计算活动,而不是在没有观察者时暂停; 2.2 autorun 概念 autorun 直译就是自动运行意思,那么我们要知道这两个问题: 自动运行什么?...注意 第一个参数,必须是根据可观察数据来返回布尔,而不是普通变量布尔。 如果第一个参数默认 true,则 when 函数会默认执行一次。...实际使用场景: 当我们没有获取到数据时候,没有必要去执行存缓存逻辑,当第一次获取到数据以后,就执行存缓存逻辑。

80320

Android-RxJava(下)

注意如果是:Observable.just(1, 2, 3) 和Observable.just(3,2,1)比较返回结果false,是有顺序之分 3.6.7 contains 条件操作符contains...Integer> integerNotification) throws Exception { Log.d(TAG, "accept: "+"执行了doOnEach获取元素...repeatUntil 根据条件决定是否执行,其实现方法getAsBoolean()返回如果一直是false,则无限执行,当返回是true时则立即中断执行。...发射了一项数据,computation调度器就启动一个计时器,如果计时器超过了指定指定时长而原始Observable没有发射另一项数据,timeout就抛出 TimeoutException,以一个错误通知终止...extends T> other):每当原始Observable发射了一项数据,computation调度器就启动一个计时器,如果计时器超过了指定指定时长而原始Observable没有发射另一项数据,

88330

词典对象 NSDictionary与NSMutableDictionary

在Objective-C语言中,当然也有这方面的支持,词典对象就是做这个事情,不过在同一个词典对象中可以保存多个不同类型数据,不像Java与C只能保存声明相同类型数据,这一点还是可以解决不少问题...词典关键字NSDictionary与NSMutableDictionary。对OC稍有认识朋友应该从关键字结构就可以看出这两个区别。很明显前者不可变词典,后者可变词典。...(NSObject *object in enumeratorKey) { NSLog(@"遍历KEY: %@",object); } /...快速枚举遍历所有Value for (NSObject *object in enumeratorValue) { NSLog(@"遍历Value: %@",object...很显然,在 NSArray 和 NSSet 中,枚举是针对它们内容。对于其它类,响应文档应当明确哪个属性是用来迭代

1.2K70

iOS两年前面试题总结,现在你掌握了嘛?

,当对象拥有者指向新或者不存在时weak修饰指针会自动置nil。...键路径(keyPath)、键值编码(KVC)、键值观察(KVO) 键路径 在一个给定实体中,同一个属性所有具有相同数据类型。...如果需要了解使用方法,请看谓词具体使用 static、self、super关键字作用 函数体内static变量作用范围该函数体,不同于auto变量,该变量内存只被分配一次,因此其在下次调用时仍维持上次...CoreData介绍: CoreData是面向对象API,CoreData是iOS中非常重要一项技术,几乎在所有编写程序中,CoreData都作为数据存储基础。...大多数情况下,我们引用CoreData作为持久化数据解决方案,并利用它作为持久化数据映射内存对象。

1.1K20

iOS,面试必看,最全梳理

,当对象拥有者指向新或者不存在时weak修饰指针会自动置nil。...如果需要了解使用方法,请看谓词具体使用 static、self、super关键字作用 函数体内static变量作用范围该函数体,不同于auto变量,该变量内存只被分配一次,因此其在下次调用时仍维持上次...**switch **语句 **if **语句区别与联系 均表示条件判断,switch语句表达式只能处理是整型、字符型和枚举类型,而选择流程语句则没有这样限制。...CoreData介绍: CoreData是面向对象API,CoreData是iOS中非常重要一项技术,几乎在所有编写程序中,CoreData都作为数据存储基础。...大多数情况下,我们引用CoreData作为持久化数据解决方案,并利用它作为持久化数据映射内存对象。

1.2K30

【MobX】MobX 简单入门教程

observable 可以是 JS原始数据类型、引用类型、普通对象、类实例、数组和映射。..., obj.b) // 11 22 obj.a = "leo"; console.log(obj.a, obj.b) // leo 22 需要注意是:应该避免下标越界去方法数组中,这样数据将不会被...此外计算还是高度优化过,所以尽可能多使用它们。 可以简单理解:它是相关状态变化时自动更新,可以将多个可观察数据合并成一个可观察数据,并且只有在被使用时才会自动更新。...boolean 设置 true 以自动保持计算活动,而不是在没有观察者时暂停; 2.2 autorun 概念 autorun 直译就是自动运行意思,那么我们要知道这两个问题: 自动运行什么?...注意 第一个参数,必须是根据可观察数据来返回布尔,而不是普通变量布尔。 如果第一个参数默认 true,则 when 函数会默认执行一次。

1.4K00

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券