偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

IOS開發(fā):在Core Data中應(yīng)用使用原生SQL功能

移動開發(fā) iOS
IOS開發(fā)應(yīng)用中在Core Data里應(yīng)用使用原生SQL功能是本文要介紹的內(nèi)容,主要是來學(xué)習(xí)Core Data的應(yīng)用以及數(shù)據(jù)庫的操作,來看本文詳細(xì)內(nèi)容講解。

IOS開發(fā)應(yīng)用中在Core Data里應(yīng)用使用原生SQL功能是本文要介紹的內(nèi)容,主要是來學(xué)習(xí)Core Data的應(yīng)用以及數(shù)據(jù)庫的操作。蘋果在iPhone 3.0以后的sdk中提供了Core Data功能,對于普通的數(shù)據(jù)庫應(yīng)用開發(fā)來說,大大提高了方便性。

新建Window Base Application的時候,選上下面的使用Core Data,模板就自動創(chuàng)建好了,在delegate文件里提供了使用Core Data存取數(shù)據(jù)的所有方法,在其它View Controller里面只要調(diào)用delegate里面的方法就可以了。而修改Data Model并基于該Model創(chuàng)建Entity定義也提供了可視化的操作,一旦定義了實(shí)例,只要在程序中new一個實(shí)例,給變量賦值,然后調(diào)用 delegate中的save方法就可以添加一條新的記錄了。這種方法對于長文本和時間等sql中比較難處理的字段尤其好用。而且在已保存的記錄中取列表 等操作也非常方便。(具體可以參考apple提供的Core Data入門教程)。

但是后來當(dāng)我需要做匯總功能的時候,就完全傻掉了,雖然Core Data也提供了簡單的sum, avg等運(yùn)算,但是對于ralationship下的sum卻完全找不到文檔,甚至論壇上也搜不到解決方案。難道要我取出list再一個個手動匯總?這樣 數(shù)據(jù)量多的時候效率低的不是一點(diǎn)。當(dāng)然,這時候如果能直接使用sql語句來匯總,那就最簡單不過了。可是,Core Data封裝的很完整,都不知道它把數(shù)據(jù)存到哪里去了,怎么辦?難道要用sqlite重寫整個程序,那已有添加和明細(xì)等功能就要做相當(dāng)大的無謂的改動了。

今天終于找到了解決方案:Core Data本身就是基于sqlite的封裝,所以它的底層仍然是使用sqlite進(jìn)行存儲數(shù)據(jù)的,而它使用的數(shù)據(jù)庫,就在delegate文件中。通常是程 序的Documents目錄下的以程序名為名字的sqlite文件。如果程序已經(jīng)在模擬器中運(yùn)行過,只要進(jìn)入用戶目錄下的 Library/Application Support/iPhone Simulator/User/Applications/,這里是你所有模擬器中運(yùn)行過的程序,找到你需要的那個,進(jìn)去以后進(jìn)入Documents目 錄,里面就是自動生成的sqlite數(shù)據(jù)庫文件。把它復(fù)制出來,用sqlite3命令直接查看數(shù)據(jù)庫結(jié)構(gòu)就可以了。

默認(rèn)情況下生成的數(shù)據(jù)表的名字就是你的Entity的名字,加上字母Z開頭,字段名也就是你定義的實(shí)例名字,同樣加上字母Z開頭,而主鍵就是個自增長的 int型。有了這個數(shù)據(jù)庫結(jié)構(gòu),在程序中添加libsqlite3.0.dylib的framework,然后就可以在程序中使用原生 sqlite3功能了。

有了方便的core data解決簡單的數(shù)據(jù)操作,再配合完全自定義的sqlite功能,現(xiàn)在可以隨心所欲的開發(fā)強(qiáng)大的數(shù)據(jù)庫應(yīng)用了

小結(jié):IOS開發(fā)應(yīng)用中在Core Data里應(yīng)用使用原生SQL功能的內(nèi)容介紹完了,希望通過本文的學(xué)習(xí)能對你有所幫助!

責(zé)任編輯:zhaolei 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2011-07-21 14:50:06

Core Data SQL

2023-12-22 09:11:45

AndroidNFC移動開發(fā)

2014-04-23 13:30:23

類簇iOS開發(fā)

2024-09-30 09:48:41

RabbitMQ消息中間件

2012-02-13 14:22:22

MonoTouchiOS應(yīng)用Visual Stud

2024-07-01 00:00:06

ASP.NET開源

2011-08-18 11:10:49

Core Plot框架IOS開發(fā)

2022-12-06 23:43:53

iOSCreateML應(yīng)用

2012-02-13 14:10:11

MonoTouchiOS應(yīng)用Visual Stud

2011-06-14 14:27:02

Core DataCocoa TouchiOS

2011-08-09 10:27:41

iOS剪貼板

2014-06-13 11:06:36

RoboVMiOS應(yīng)用

2011-08-08 13:26:48

iOS開發(fā) Twitter

2011-06-13 16:22:49

Core AudioCocoa TouchiOS

2015-03-30 12:13:23

React NativiOS

2011-08-29 17:27:47

HTML 5交互移動應(yīng)用

2013-09-11 11:05:28

iOS開發(fā)者指紋識別蘋果發(fā)布會

2012-01-18 13:46:37

ARCiOS

2022-10-27 18:03:04

GogRPC云原生

2023-08-15 09:27:41

云原生技術(shù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號