你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> iOS中操作CoreData框架設計

iOS中操作CoreData框架設計

編輯:IOS開發綜合
coreData是iOS開發中數據庫相關的核心框架,但是在多線程處理的情況下有點麻煩。官方有三種方法
 
1. 每一個thread都有一個NSManageObjectContext
 
2. 只有一個NSManageObjectContext,但是由一個線程來合並數據
 
3. 只有一個NSManageObjectContext,但得加鎖的方法控制,達到線程同步。
 
這三種方法都在網方文檔中有介紹。
 
 
 
 
今天我自己介紹一種方法,並用有demo展示。設計思路是:
 
專門開啟一個線程,用來處理所有的數據庫操作,有一個緩沖區,用來存放所有數據庫操作的命令(update/insert/delete/retrive),我叫這個線程為數據庫操作線程。 其它線程,如主線程,如果需要retrive數據,就生成相應的數據庫操作命令並存放在數據庫操作線程的緩沖區中。然後數據庫操作線程就讀取緩沖區中的命令執行,並執行主線程傳進來的回調方法。其實這就是生產者消費者模型, 我用NSConditionLock來同步緩沖區, 用block的方式實現回調。
 
 
 
 
這個設計的好處:
 
1.只需要實現回調方法與生成相應的數據庫操作命令,至於如何寫,我的demo裡都有例子。
 
2.不需要管理多線程操作數據庫帶來的麻煩。
 
3.簡單易用。
 
 
 
 
完整demo下載:傳送門
 
 
 
代碼沒寫注釋, 不懂的可以問我。


摘自 開心程序
  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved