iCloud學(xué)習(xí)筆記二:Key-Value

通過(guò)這種方式存入iCloud數(shù)據(jù),用法與NSUserDefaults蠻像的星爪。就是key-value的形式存入iCloud浆西。用法超簡(jiǎn)單,但是前提是你需要做一些配置顽腾。

前提配置:
1.開(kāi)發(fā)者管理平臺(tái)近零,用于程序開(kāi)發(fā)的Bundle identifier。即在管理平臺(tái)配置的App IDs抄肖。需要開(kāi)啟iCloud的相關(guān)配置久信,具體嘗試一遍就知道了,蠻簡(jiǎn)單的漓摩,照著感覺(jué)前進(jìn)吧裙士。沒(méi)錯(cuò)的
2.在 Xcode -> TARGETS -> Capabilities -> iCloud 這里選中第一個(gè)Key-value storage
到此,已經(jīng)配置完了管毙,給兩張圖


Xcode.png

開(kāi)發(fā)者管理平臺(tái).png

好了腿椎,現(xiàn)在使用API吧。
官方介紹

//獲取實(shí)例
NSUbiquitousKeyValueStore *store = [NSUbiquitousKeyValueStore defaultStore];

//存入數(shù)據(jù)
[store setObject:@{@"k1":@"message"} forKey:@"key"];

//獲取數(shù)據(jù)
id obj = [store objectForKey:@"key"];
NSLog(@"%@",obj);

//這里還有一個(gè)獲取所有的鍵值對(duì)的只讀屬性dictionaryRepresentation
NSLog(@"==%@",store.dictionaryRepresentation);

//清除
[store removeObjectForKey:@"key"];

/*
*有一個(gè)地方夭咬,這里所有的操作都不是及時(shí)的針對(duì)iCloud云端啃炸。
*官方有這么一句話(huà):
應(yīng)用程序?qū)懭腈I值存儲(chǔ)對(duì)象的更改最初保存在內(nèi)存中,然后由系統(tǒng)在適當(dāng)?shù)臅r(shí)間寫(xiě)入磁盤(pán)卓舵。
如果在用戶(hù)未登錄iCloud帳戶(hù)時(shí)寫(xiě)入鍵值存儲(chǔ)對(duì)象南用,則數(shù)據(jù)將存儲(chǔ)在本地,直到下一次同步機(jī)會(huì)為止。
當(dāng)用戶(hù)登錄iCloud帳戶(hù)時(shí)训枢,系統(tǒng)會(huì)自動(dòng)將您的本地磁盤(pán)上的密鑰和值與iCloud服務(wù)器上的密鑰和值進(jìn)行協(xié)調(diào)
*/
//所以 如果希望操作立馬生效托修,可以調(diào)用這個(gè)方法
[store synchronize];

//最后,還有一個(gè)通知恒界。干嘛用的睦刃,就是數(shù)據(jù)有變化了,各個(gè)端都可以接到通知十酣,例iPhone  mac  iPad等
//通知名:NSUbiquitousKeyValueStoreDidChangeExternallyNotification
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(storeDidChangeFunc:) name:NSUbiquitousKeyValueStoreDidChangeExternallyNotification object:nil];

到此涩拙,就完結(jié)了。

接下來(lái)耸采,是一些嘗試:
嘗試的請(qǐng)湊:先存入一些數(shù)據(jù)兴泥,然后接下來(lái)的操作中不要再有存入數(shù)據(jù)的操作
操作1:刪除應(yīng)用 -》 重新安裝應(yīng)用(不聯(lián)網(wǎng)) -》取數(shù)據(jù)
==》結(jié)果:通知不被調(diào)用,數(shù)據(jù)為空

操作2:刪除應(yīng)用 -》 重新安裝應(yīng)用(聯(lián)網(wǎng)) -》取數(shù)據(jù)
==》結(jié)果:通知調(diào)用虾宇,數(shù)據(jù)不為空

操作3:刪除應(yīng)用 -》 重新安裝應(yīng)用(不聯(lián)網(wǎng)) -》取數(shù)據(jù) -》 聯(lián)網(wǎng) -》 取數(shù)據(jù)
==》結(jié)果:通知不被調(diào)用搓彻,數(shù)據(jù)為空,通知被調(diào)用嘱朽,取到數(shù)據(jù)

操作4:清理手機(jī)iCloud備份 -》刪除應(yīng)用 -》重新安裝(聯(lián)網(wǎng)) -》取數(shù)據(jù)
==》結(jié)果:通知調(diào)用旭贬,數(shù)據(jù)不為空

操作5:刪除數(shù)據(jù)(API:remove) -》刪除應(yīng)用 -》重新安裝(聯(lián)網(wǎng)) -》取數(shù)據(jù)
==》結(jié)果:通知調(diào)用,數(shù)據(jù)不為空

操作6:刪除數(shù)據(jù)(API:remove -> synchronize) -》刪除應(yīng)用 -》重新安裝(聯(lián)網(wǎng)) -》取數(shù)據(jù)
==》結(jié)果:通知調(diào)用搪泳,數(shù)據(jù)為空

做這么多稀轨,我就想知道,數(shù)據(jù)存到云端沒(méi)岸军?奋刽?
清理iPhone iCloud備份,數(shù)據(jù)還會(huì)存在么艰赞?佣谐?
如何清理云端數(shù)據(jù)?猖毫?

猜想:
1.數(shù)據(jù)確實(shí)存到云端了台谍,通過(guò)操作1-3,推斷聯(lián)網(wǎng)情況得到數(shù)據(jù)吁断,說(shuō)明從云端去取數(shù)據(jù)了。
2.清理iCloud備份坞生,還是能夠取到數(shù)據(jù)仔役。但是可能是緩存,這一點(diǎn)蠻模糊焦躁的是己。因?yàn)閿?shù)據(jù)存儲(chǔ): 內(nèi)存 -系統(tǒng)合適時(shí)間-》磁盤(pán) -系統(tǒng)會(huì)自動(dòng)將您的本地磁盤(pán)上的密鑰和值與iCloud服務(wù)器上的密鑰和值進(jìn)行協(xié)調(diào)-》云端又兵。
..通過(guò)官方介紹文檔,得知通過(guò)key-value這種形式存入iCloud
的整體分配空間只有1MB,所以猜想是否用戶(hù)設(shè)備中并不能針對(duì)key-value存儲(chǔ)的數(shù)據(jù)進(jìn)行刪除沛厨,想要?jiǎng)h除只能通過(guò)API宙地,應(yīng)用內(nèi)進(jìn)行。
..而有一個(gè)現(xiàn)象逆皮,當(dāng)云端有數(shù)據(jù)的情況下宅粥,斷網(wǎng)情況重新安裝app,你會(huì)發(fā)現(xiàn)沙盒中正常的存在那幾個(gè)文件电谣。但是當(dāng)你聯(lián)網(wǎng)后(這個(gè)地方我的理解是聯(lián)網(wǎng)了秽梅,就可以訪問(wèn)iCloud云端了),你會(huì)發(fā)現(xiàn)沙盒中多出了一個(gè)文件夾SyncedPreferences剿牺,這個(gè)文件夾應(yīng)該就是系統(tǒng)自動(dòng)從云端協(xié)調(diào)到本地的
3.清理云端數(shù)據(jù) 可以使用API的remove數(shù)據(jù)企垦,但加上synchronize。如果你想及時(shí)知道數(shù)據(jù)是否被清理掉了

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末晒来,一起剝皮案震驚了整個(gè)濱河市钞诡,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌湃崩,老刑警劉巖臭增,帶你破解...
    沈念sama閱讀 217,406評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異竹习,居然都是意外死亡誊抛,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門(mén)整陌,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)拗窃,“玉大人,你說(shuō)我怎么就攤上這事泌辫∷婵洌” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,711評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵震放,是天一觀的道長(zhǎng)宾毒。 經(jīng)常有香客問(wèn)我,道長(zhǎng)殿遂,這世上最難降的妖魔是什么诈铛? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,380評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮墨礁,結(jié)果婚禮上幢竹,老公的妹妹穿的比我還像新娘。我一直安慰自己恩静,他們只是感情好焕毫,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,432評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布蹲坷。 她就那樣靜靜地躺著,像睡著了一般邑飒。 火紅的嫁衣襯著肌膚如雪循签。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,301評(píng)論 1 301
  • 那天疙咸,我揣著相機(jī)與錄音县匠,去河邊找鬼。 笑死罕扎,一個(gè)胖子當(dāng)著我的面吹牛聚唐,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播腔召,決...
    沈念sama閱讀 40,145評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼杆查,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了臀蛛?” 一聲冷哼從身側(cè)響起亲桦,我...
    開(kāi)封第一講書(shū)人閱讀 39,008評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎浊仆,沒(méi)想到半個(gè)月后客峭,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,443評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡抡柿,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,649評(píng)論 3 334
  • 正文 我和宋清朗相戀三年舔琅,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片洲劣。...
    茶點(diǎn)故事閱讀 39,795評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡备蚓,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出囱稽,到底是詐尸還是另有隱情郊尝,我是刑警寧澤,帶...
    沈念sama閱讀 35,501評(píng)論 5 345
  • 正文 年R本政府宣布战惊,位于F島的核電站流昏,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏吞获。R本人自食惡果不足惜况凉,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,119評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望衫哥。 院中可真熱鬧茎刚,春花似錦、人聲如沸撤逢。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,731評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)蚊荣。三九已至初狰,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間互例,已是汗流浹背奢入。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,865評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留媳叨,地道東北人腥光。 一個(gè)月前我還...
    沈念sama閱讀 47,899評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像糊秆,于是被迫代替她去往敵國(guó)和親武福。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,724評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 國(guó)家電網(wǎng)公司企業(yè)標(biāo)準(zhǔn)(Q/GDW)- 面向?qū)ο蟮挠秒娦畔?shù)據(jù)交換協(xié)議 - 報(bào)批稿:20170802 前言: 排版 ...
    庭說(shuō)閱讀 10,967評(píng)論 6 13
  • 創(chuàng)建自定義文檔對(duì)象 基于文檔的應(yīng)用程序必須具有代表和管理文檔數(shù)據(jù)的UIDocument子類(lèi)的實(shí)例痘番。本章討論了覆蓋大...
    nicedayCoco閱讀 1,434評(píng)論 0 3
  • ORA-00001: 違反唯一約束條件 (.) 錯(cuò)誤說(shuō)明:當(dāng)在唯一索引所對(duì)應(yīng)的列上鍵入重復(fù)值時(shí)捉片,會(huì)觸發(fā)此異常。 O...
    我想起個(gè)好名字閱讀 5,311評(píng)論 0 9
  • 點(diǎn)擊查看原文 Web SDK 開(kāi)發(fā)手冊(cè) SDK 概述 網(wǎng)易云信 SDK 為 Web 應(yīng)用提供一個(gè)完善的 IM 系統(tǒng)...
    layjoy閱讀 13,761評(píng)論 0 15
  • Swift1> Swift和OC的區(qū)別1.1> Swift沒(méi)有地址/指針的概念1.2> 泛型1.3> 類(lèi)型嚴(yán)謹(jǐn) 對(duì)...
    cosWriter閱讀 11,100評(píng)論 1 32