Sqlite的一些面试题

sqlite中插入特殊字符的方法和接收到处理方法。

除’其他的都是在特殊字符前面加“/”,而 ' -> '' 。方法:keyWord = keyWord.replace("/","//");

什么是NSManagedObject模型?

NSManagedObjcet是NSObject的子类,Core Date的重要组成部分。是一个通用类,实现了Core Date模型层所需的基本功能,用户可以通过NSManagedObjcet建立自己的数据模型。

你实现过多线程的Core Data么?NSPersistentStoreCoordinator,NSManagedObjectContext和NSManagedObject中的哪些需要在线程中创建或者传递?你是用什么样的策略来实现的?

1>  CoreData是对SQLite数据库的封装
2>  coreData中有三个对象是必须掌握的, 
NSManagedObject :只要定义一个类继承于该类就会创建一张与之对应的表, 也就是一个继承于该类的类就对应一张表. 每一个通过继承该类创建出来的对象,都是该类对应的表中的一条数据

NSManagedObjectContext: 用于操作数据库, 只要有类它就能对数据库的表进行增删改查

NSPersistentStoreCoordinator: 决定数据存储的位置 (SQLite/XML/其它文件中)
3>  Core data本身并不是一个并发安全的架构所以在多线程中实现Core data会有问题.问题在于
>2.1  CoreData中的NSManagedObjectContext在多线程中不安全
>2.2如果想要多线程访问CoreData的话,最好的方法是一个线程一个NSManagedObjectContext
>2.3每个NSManagedObjectContext对象实例都可以使用同一个NSPersistentStoreCoordinator实例,这是因为NSManagedObjectContext会在便用NSPersistentStoreCoordinator前上锁

 缓存可以分为:内存数据缓存、数据库缓存、文件缓存

  • 每次想获取数据的时候
  • 先检测内存中有无缓存
  • 再检测本地有无缓存(数据库\文件)
  • 最终发送网络请求
  • 将服务器返回的网络数据进行缓存(内存、数据库、文件), 以便下次读取

什么是序列化和反序列化

序列化是讲对象转换成字符串

反序列化是讲字符串转化为

遵循NSCoding协议,实现复杂对象的存储,实现该协议后可以对其进行打包或者解包,转化为NSDate

SQLite是轻量级的关系型数据库,但是其功能一点也不亚于很多大型的数据库,当前很多的嵌入式设备都作为首选

SQLite 数据库的特点

基于C语言开发的轻量级数据库

在iOS中使用C语言语法进行数据库操作,访问

Sqlite使用的是动态数据类型,及时在创建的时候是一个数据类型,但是在操作的时候可以是另外一种数据类型

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值