999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于iOS9與iOS10的CoreData技術變化

2017-04-13 15:08:50范寶元
中文信息 2017年2期

摘 要: CoreData是一個蘋果原生的框架,它擁有像數據庫一樣存儲數據的功能,但本身并不是數據庫。本文探究了在iOS9與iOS10中CoreData的性能優化和發生的改變,并對這種變化進行相應的封裝,以便兼容iOS9和iOS10。

關鍵詞:iOS9 iOS10 CoreData 性能優化

中圖分類號:TP273 文獻標識碼:A 文章編號:1003-9082(2017)02-0009-01

CoreData是iOS5之后才出現的一個框架,它提供了對象-關系映射(ORM)的功能,即能夠將OC對象轉化成數據,保存在SQLite數據庫文件中,也能夠將保存在數據庫中的數據還原成OC對象。在此數據操作期間,開發者不需要編寫任何SQL語句。在CoreData的技術堆棧主要分為一下幾個部分,一個是NSManagedObjectContext管理的模型部分,管理著所有CoreData的托管模型對象;另一個是存儲調度器NSPersistentStoreCoordinator,和SQL數據庫進行數據交互,負責操縱存儲器類NSPersistentStore實現SQLite的本地持久化。這就構成了CoreData的大體結構。在iOS10中,其技術堆棧發生了一些細微變化,詳情見下文分析。

一、iOS9中的CoreData

在iOS9中,CoreDataStack是CoreData的核心,由一組CoreData核心對象組成,其技術堆棧圖如下所示:

1.NSManagedObjectContext 對象管理上下文: 負責管理模型對象的集合;

2.NSManagedObjectModel 被管理的對象模型: 負責管理對象模型;

3.NSPersistentStoreCoordinator 存儲調度器: 負責將數據保存到磁盤的;

其核心部分大致分為兩個:一個是對象圖管理,另一個是數據持久化;在這兩部分的中間,即堆棧中間,是持久化存儲協調器(Persistent Store Coordinator, PSC)。通過它將對象圖管理部分和持久化部分綁在一起。當這兩部分中的一部分需要和另一部分交互,將通過PSC來調節;并且,在iOS9之前,SQLite的文件存儲在Documents,在iOS10之后,便把存儲地址改為Library/Application/Support中。

二、iOS10中的CoreData

在iOS10中,系統默認生成的是一個CoreData存儲容器NSPersistentContainer,NSPersistentContainer是iOS10.0新加的一個類,它的作用是管理CoreDataStack,可以理解為是CoreDataStack的容器,其對數據的增刪改查與在iOS9中的過程相同,但是NSPersistentContainer不兼容iOS9,如果在iOS9中使用會閃退,需要進行適配處理,其核心代碼如下:

三、NSPersistentContainer性能比較

下圖為筆者通過使用iOS9與iOS10的CoreData往數據庫中插入十萬行數據所耗時間的對比圖:

分析上圖的對比結果,可以得出,傳統的在主線程操作CoreData插入十萬行數據,足足等了22s多;然而使用iOS10的NSPersistentContainer的多線程操作數據庫插入十萬行數據只需要2s多,比傳統的CoreData速度快了將近10倍。

結束語

在iOS開發中,目前市場上有三種主流的數據庫操作:FMDB、realm、和CoreData,然而CoreData的使用率目前普遍較低。對于一種數據庫技術的選擇,無非就是使用時是否方便和操作大量數據時,是否耗時耗性能。但是通過上面的對比測試可以看出,在iOS10推出之后,蘋果公司對其原生的CoreData在性能上進行了大量優化。

作者簡介:范寶元(1993.1-),男,福建,研究方向:智能信息服務系統。

主站蜘蛛池模板: 黄色a一级视频| 久久人与动人物A级毛片| 亚洲a免费| 青青热久麻豆精品视频在线观看| 青青网在线国产| 高清码无在线看| 国产精品区网红主播在线观看| 四虎成人精品| 99久久人妻精品免费二区| 激情国产精品一区| 福利在线不卡| 国产自在自线午夜精品视频| 亚洲国产系列| 狠狠色狠狠色综合久久第一次| 天堂在线视频精品| 久久婷婷五月综合色一区二区| 五月婷婷综合网| 国产清纯在线一区二区WWW| 国产日韩久久久久无码精品| 国产无人区一区二区三区| 久久天天躁夜夜躁狠狠| 日本亚洲成高清一区二区三区| 免费一级毛片在线播放傲雪网| 中文字幕调教一区二区视频| 国产精品.com| 国产精品一区二区在线播放| www.狠狠| 国产精品原创不卡在线| 色老头综合网| 亚洲色图欧美在线| 亚洲色图欧美| 国产成人高清精品免费5388| 亚洲综合亚洲国产尤物| 亚洲日本中文字幕天堂网| 久久国产高潮流白浆免费观看| P尤物久久99国产综合精品| 欧美日韩国产综合视频在线观看 | 国产久操视频| 久久中文无码精品| 国产婬乱a一级毛片多女| 亚洲精品少妇熟女| 青青操视频免费观看| 高清无码一本到东京热| 欧美成人看片一区二区三区| 亚洲欧美自拍视频| 中文字幕在线一区二区在线| 国产午夜无码专区喷水| 亚洲va欧美va国产综合下载| 成人在线亚洲| 一级毛片在线免费视频| 亚洲人成人无码www| 日韩区欧美区| 91无码人妻精品一区| 久久人人97超碰人人澡爱香蕉| 日韩毛片免费观看| 国产一区二区三区在线观看视频| 亚洲系列无码专区偷窥无码| 亚洲一区二区三区香蕉| 国产精品视频免费网站| 欧美成人精品高清在线下载| 日韩高清成人| 97在线免费视频| 日本高清成本人视频一区| 亚洲精品视频免费| 国产中文一区二区苍井空| 色九九视频| 青青草91视频| 国产精品一区二区久久精品无码| 亚洲美女AV免费一区| 久久久国产精品免费视频| 久操线在视频在线观看| aa级毛片毛片免费观看久| 国产男女XX00免费观看| 9966国产精品视频| yjizz视频最新网站在线| 成人福利在线免费观看| 中文字幕在线看| 久久精品国产在热久久2019| 99视频在线看| 午夜国产理论| 中国国语毛片免费观看视频| 国产精品久久久久无码网站|