關於面試中的一二 ------------數據存儲 持續更新

1.    如果後期需要增加數據庫中的字段怎麼實現,如果不使用CoreData呢?

編寫SQL語句來操作原來表中的字段

1>  增加表字段

ALTER TABLE 表名 ADD COLUMN 字段名 字段類型;

2>  刪除表字段

ALTER TABLE 表名 DROP COLUMN 字段名;

3>  修改表字段

ALTER TABLE 表名 RENAME COLUMN 舊字段名 TO 新字段名;

 

2.    SQLite數據存儲是怎麼用?

1>  添加SQLite動態庫:

2>  導入主頭文件:#import <sqlite3.h>

3>  利用C語言函數創建\打開數據庫,編寫SQL語句

 

3.    簡單描述下客戶端的緩存機制?

1.    緩存可以分爲:內存數據緩存、數據庫緩存、文件緩存

2.    每次想獲取數據的時候

1>  先檢測內存中有無緩存

2>  再檢測本地有無緩存(數據庫\文件)

3>  最終發送網絡請求

4>  將服務器返回的網絡數據進行緩存(內存、數據庫、文件),以便下次讀取

 

4.    你實現過多線程的Core Data麼?NSPersistentStoreCoordinatorNSManagedObjectContextNSManagedObject中的哪些需要在線程中創建或者傳遞?你是用什麼樣的策略來實現的?

1>  CoreData是對SQLite數據庫的封裝

2>  CoreData中的NSManagedObjectContext在多線程中不安全

3>  如果想要多線程訪問CoreData的話,最好的方法是一個線程一個NSManagedObjectContext

4>  每個NSManagedObjectContext對象實例都可以使用同一個NSPersistentStoreCoordinator實例,這是因爲NSManagedObjectContext會在便用NSPersistentStoreCoordinator前上鎖

 

5.    core  data數據遷移

http://blog.csdn.net/jasonblog/article/details/17842535

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章