1.如果后期需要增加数据库中的字段怎么实现,如果不使用CoreData呢?
编写SQL语句来操作原来表中的字段
1>增加表字段
ALTER TABLE表名ADD COLUMN字段名字段类型;
2>删除表字段
ALTER TABLE表名DROP COLUMN字段名;
3>修改表字段
ALTER TABLE表名RENAME COLUMN旧字段名TO新字段名;
2.SQLite数据存储是怎么用?
1>添加SQLite动态库:libsqlite3.dylib
2>导入主头文件:#import
3>利用C语言函数创建\\打开数据库,编写SQL语句
3.简单描述下客户端的缓存机制?
1.缓存可以分为:内存数据缓存、数据库缓存、文件缓存
2.每次想获取数据的时候
1>先检测内存中有无缓存
2>再检测本地有无缓存(数据库\\文件)
3>最终发送网络请求
4>将服务器返回的网络数据进行缓存(内存、数据库、文件), 以便下次读取
4.你实现过多线程的Core Data么?NSPersistentStoreCoordinator,NSManagedObjectContext和NSManagedObject中的哪些需要在线程中创建或者传递?你是用什么样的策略来实现的?
1>CoreData是对SQLite数据库的封装
2>CoreData中的NSManagedObjectContext在多线程中不安全
3>如果想要多线程访问CoreData的话,最好的方法是一个线程一个NSManagedObjectContext
4>每个NSManagedObjectContext对象实例都可以使用同一个NSPersistentStoreCoordinator实例,这是因为NSManagedObjectContext会在便用NSPersistentStoreCoordinator前上锁
5.core data数据迁移
关于大数据量下Core Data的数据迁移 - JasonLee的专栏 - 博客频道 - CSDN.NET http://blog.csdn.net/jasonblog/article/details/17842535
网友评论