1.如果后期需要增加数据库中的字段怎么实现,如果不使用CoreData呢?

回答:编写SQL语句来操作原来表中的字段

1>增加表字段

ALETER TABLE 表名 ADD COLUMN 字段名 字段类型;

2>删除表字段

ALETER TABLE 表名 DROP COLUMN 字段名

3>修改表字段

ALETER TABLE 表名 RENAME COLUMN 旧字段名 TO 新字段名

2.SQLite数据存储是怎么用?

回答: 1>增加SQLite动态库:libsqlite3.dylib

2>导入主头文件:#import <sqlite3.h>

3>利用C语言函数创建/打开数据库,编写SQL语句

3.简单描述下客户端的缓存机制?

回答:1.缓存可以分为:内存数据缓存、数据库缓存、文件缓存

2.每次想获取数据的时候

1>先检测内存中有无缓存

2>再检测本地有无缓存(数据库/文件)

3>最终发送网络请求

4>将服务器返回的网络数据进行缓存(内存、数据库、文件)以便下次读取

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

回答:1>CoreData是对SQLite数据库的封装

2>CoreData中的NSManageredObject在多线程中不安全

    3>如果想要多线程访问CoreData的话,最好的方法是一个线程一个NSManagedObjectContext

4>每个NSManagedObjectContext对象实例都可以使用同一个NSPersistentStoreCoordinator实例,这是因为NSManagedObjectContext会在使用NSPersitentStoreCoordinator前上锁

   附: FMDB:OC封装C语言的SQLite,编写SQL语句

      CoreData:OC封装C语言的SQLite,不用编写任何SQL语句,自动根据对象类型和属性名生成对应的SQL语句

5.Core Data数据迁移

具体可以看这篇博客:http://blog.csdn.net/jasonblog/article/details/17842535

最新文章

  1. 《如何使用Javascript判断浏览器终端设备》
  2. 随便写一下看下效果。一个js问题
  3. git 小结
  4. PHP 与pdf文档 与条码
  5. html5表单验证
  6. 在ubuntu上搭建开发环境2---Win7、Ubuntu双系统正确删除Ubuntu
  7. MySQL基础 - 如何系统地学习数据库?
  8. [Java] Web开发HTTP状态码整理
  9. PAT 1076. Forwards on Weibo (30)
  10. JQ----树杈型导航
  11. sql语句分析
  12. KNN算法的补充
  13. 畅通工程 HDU - 1863
  14. IE 兼容 getElementsByClassName
  15. J2EE规范总结
  16. EntityFramwork 七七八八
  17. spring BeanWrapperImpl方便的嵌套属性(list)操作
  18. Thread和Runnable的区别和联系、多次start一个线程会怎么样
  19. NET Core小细节杂记
  20. selenium之调用Javascript

热门文章

  1. USB OTG ID 检测原理
  2. outlook 2007如何设置自动转发功能
  3. Qt:基于TCP和UDP的局域网P2P(局域网)通讯封装
  4. libcurl get post http
  5. openstack 开发step-by-step
  6. CSS实现宽高成比例缩放
  7. 利用KVO监视一个view的frame
  8. C++ ofstream和ifstream
  9. JMS详细的工作原理【转】
  10. SqLite 使用 Dapper 查询INTEGER类型的主键问题