一、如果后期需要增加數(shù)據(jù)庫中的字段怎么實(shí)現(xiàn)壁涎,如果不使用 CoreData呢玻墅?
編寫SQL語句來操作原來表中的字段
· 增加表字段
ALTERTABLE 表名 ADDCOLUMN 字段名 字段類型;
· 刪除表字段
ALTERTABLE 表名 DROPCOLUMN 字段名;
· 修改表字段
ALTERTABLE 表名 RENAMECOLUMN 舊字段名 TO 新字段名;
二吞歼、SQLite數(shù)據(jù)存儲(chǔ)是怎么用?
· 添加SQLite動(dòng)態(tài)庫:
· 導(dǎo)入主頭文件:#import <sqlite3.h>
· 利用C語言函數(shù)創(chuàng)建\打開數(shù)據(jù)庫践盼,編寫SQL語句
三鸦采、簡單描述下客戶端的緩存機(jī)制?
1.緩存可以分為:內(nèi)存數(shù)據(jù)緩存咕幻、數(shù)據(jù)庫緩存赖淤、文件緩存
2.每次想獲取數(shù)據(jù)的時(shí)候
3.先檢測內(nèi)存中有無緩存
4.再檢測本地有無緩存(數(shù)據(jù)庫\文件)
5.最終發(fā)送網(wǎng)絡(luò)請(qǐng)求
6.將服務(wù)器返回的網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行緩存(內(nèi)存、數(shù)據(jù)庫谅河、文件)咱旱,以
便下次讀取
四、你實(shí)現(xiàn)過多線程的Core Data么绷耍?NSPersistentStoreCoordinator吐限,NSManagedObjectContext和 NSManagedObject中的哪些需要在線程中創(chuàng)建或者傳遞?你是用什么樣的策略來實(shí)現(xiàn)的褂始?
1.CoreData是對(duì)SQLite數(shù)據(jù)庫的封裝
2.CoreData中的NSManagedObjectContext在多線程中不安全
3.如果想要多線程訪問CoreData的話诸典,最好的方法是一個(gè)線程一個(gè)NSManagedObjectContext
4.每個(gè)NSManagedObjectContext對(duì)象實(shí)例都可以使用同一個(gè)
NSPersistentStoreCoordinator實(shí)例,這是因?yàn)镹SManagedObjectContext會(huì)在便用NSPersistentStoreCoordinator前上鎖
五崎苗、core data數(shù)據(jù)遷移
iOS Core Data 數(shù)據(jù)遷移 指南
六狐粱、FMDB的使用
[iOS]數(shù)據(jù)庫第三方框架FMDB詳細(xì)講解
七舀寓、說說數(shù)據(jù)庫的左連接和右連接的區(qū)別
數(shù)據(jù)庫左連接和右連接的區(qū)別:主表不一樣通過左連接和右連接,最小條數(shù)為 3(記錄條數(shù)較小的記錄數(shù))肌蜻,最大條數(shù)為12(3 ×4)
數(shù)據(jù)庫中的左連接和右連接的區(qū)別
八互墓、了解Realm數(shù)據(jù)庫嗎?簡要說一下數(shù)據(jù)遷移蒋搜?
Realm 于2014 年7月發(fā)布篡撵,是一個(gè)跨平臺(tái)的移動(dòng)數(shù)據(jù)庫引擎,專門為移動(dòng)應(yīng)用的數(shù)據(jù)持久化而生豆挽。其目的是要取代 Core Data 和 SQLite育谬。
數(shù)據(jù)遷移:我們?cè)诟掳姹镜臅r(shí)候都會(huì)修改版本號(hào)或者構(gòu)建號(hào),判斷版本號(hào)或者構(gòu)建號(hào)是不是之前的值,在(application:didFinishLaunchingWithOptions:)中進(jìn)行配置
let bundleVersionString = Bundle.main.infoDictionary?["CFBundleVersion"] as! String
let bundleVersion = UInt64(bundleVersionString)!
let configuration = Realm.Configuration(schemaVersion: bundleVersion, migrationBlock: { (migration, oldSchemaVersion) in
print("Realm.Configuration", migration, oldSchemaVersion)
})
Realm.Configuration.defaultConfiguration = configuration
OC - Realm數(shù)據(jù)庫在iOS移動(dòng)端的使用
Swift - Realm數(shù)據(jù)庫的使用詳解(附樣例)