說(shuō)說(shuō)最近調(diào)用iOS系統(tǒng)相冊(cè)和相機(jī)的那些坑

最近的需求又對(duì)調(diào)用系統(tǒng)相冊(cè)進(jìn)行了新的改進(jìn),不單單是要求選中照片還要對(duì)選中的照片標(biāo)上序號(hào)拨拓,刪除某張照片肴颊,選中照片的序號(hào)也要刷新,保證正確的順序渣磷。還有調(diào)用系統(tǒng)相機(jī)進(jìn)行拍照的照片也要進(jìn)行排序婿着,要求動(dòng)態(tài)變動(dòng)順序。相冊(cè)和相機(jī)作為整個(gè)App數(shù)據(jù)的主要來(lái)源醋界,在多處被調(diào)用竟宋。因此那個(gè)坑啊,真是一言難盡。今天對(duì)此次調(diào)用相冊(cè)和相機(jī)遇到的坑進(jìn)行一下總結(jié)形纺,長(zhǎng)個(gè)心眼!

絢麗的天空.jpg

1丘侠、計(jì)算照片的大小

計(jì)算照片大小 時(shí)發(fā)現(xiàn)的坑,在iOS7上通過(guò)系統(tǒng)方法計(jì)算出來(lái)的照片大小逐样,是兩位小數(shù)的蜗字,而iOS9上是16位小數(shù)的。iOS8上小數(shù)位數(shù)可能介于兩者之間官研。因此iOS9上計(jì)算照片總大小的時(shí)候秽澳,居然出現(xiàn)了負(fù)值,單點(diǎn)調(diào)試發(fā)現(xiàn)了問(wèn)題戏羽,小數(shù)位數(shù)的問(wèn)題担神,于是進(jìn)行小數(shù)格式化,只保留三位小數(shù)進(jìn)行計(jì)算始花,結(jié)果就正確了妄讯,不再出現(xiàn)因?yàn)樾?shù)誤差引起的負(fù)值現(xiàn)象。

2酷宵、按鈕的狀態(tài)

在計(jì)算文件大小的時(shí)候亥贸,發(fā)現(xiàn)了另外一個(gè)坑。復(fù)制粘貼的時(shí)候浇垦,由于粗心炕置,忘記修改按鈕的狀態(tài)了。但是在iOS9上,不管是增加還是減少照片朴摊,文件的總大小還是照常動(dòng)態(tài)顯示的默垄,并無(wú)異樣。然而在iOS7上卻只計(jì)算一次甚纲,就一直不再變化口锭,于是debug,打印數(shù)據(jù)介杆。我的天吶鹃操,原來(lái)是按鈕的狀態(tài)沒(méi)有對(duì)上。選中按鈕時(shí)春哨,我把狀態(tài)寫(xiě)成了UIControlStateNormal荆隘,恍然大悟,于是趕緊把狀態(tài)改成UIControlStateSelected,照片的總大小實(shí)時(shí)顯示了赴背。由此也發(fā)現(xiàn)了臭胜,iOS7上新選照片只是狀態(tài)變了,序號(hào)不顯示的原因癞尚,也是按鈕的狀態(tài)不對(duì)耸三,及時(shí)進(jìn)行了修正,這下照片的序號(hào)能正常顯示了浇揩。

3仪壮、數(shù)據(jù)刪除

反選照片時(shí),照片狀態(tài)要修改為初始狀態(tài)胳徽,從選中數(shù)組中移除积锅。由于反選后的照片不能從選中的數(shù)組中移除,造成了選過(guò)一次的照片不能再修改狀態(tài)养盗,點(diǎn)擊無(wú)任何反應(yīng)缚陷,于是又是debug,一看打印數(shù)據(jù)往核,著實(shí)驚訝啊箫爷。沒(méi)有刪除當(dāng)前的反選照片對(duì)象前數(shù)組中是5個(gè)照片對(duì)象,執(zhí)行刪除以后聂儒,數(shù)組中還是5個(gè)照片對(duì)象虎锚。我勒個(gè)去,壓根沒(méi)有刪除啊衩婚。于是把刪除對(duì)象的方法由removeObject改成了removeObjectAtIndex,反選的對(duì)象終于刪除了窜护,這下照片的狀態(tài)和序號(hào)一切都正常了。算是大功告成了非春,這個(gè)艱難的bug終于解決了柱徙。如釋重負(fù)盎和馈!

4护侮、新拍照照片的顯示

拍照的問(wèn)題藏研,這個(gè)問(wèn)題是在以上的3個(gè)問(wèn)題之前解決的,也是各種問(wèn)大神概行,各種嘗試。有大神告訴我時(shí)可能是數(shù)據(jù)刷新的問(wèn)題弧岳,更新UI必須在主線程進(jìn)行凳忙,于是在獲取新拍照照片以后在主線程更新了UI,發(fā)現(xiàn)不管用禽炬。再三思量之后涧卵,把獲取新拍照照片的方法放到了viewWillAppear,結(jié)果是第一次拍照不能及時(shí)獲取到照片,標(biāo)上序號(hào)腹尖,再之后的就可以了柳恐。我一個(gè)做安全的點(diǎn)了幾次,看了看現(xiàn)象热幔,告訴我有可能是初始化的問(wèn)題乐设。于是第二天到公司的時(shí)候又進(jìn)行了嘗試。最后再三思量绎巨,新拍照的照片出現(xiàn)時(shí)再去獲取標(biāo)序號(hào)不就OK了嗎近尚,于是把獲取新拍照照片標(biāo)序號(hào)的方法放到了viewDidAppear中去,這下問(wèn)題終于解決了场勤,杠杠的戈锻!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市和媳,隨后出現(xiàn)的幾起案子格遭,更是在濱河造成了極大的恐慌,老刑警劉巖留瞳,帶你破解...
    沈念sama閱讀 216,919評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件拒迅,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡她倘,警方通過(guò)查閱死者的電腦和手機(jī)坪它,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,567評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)帝牡,“玉大人往毡,你說(shuō)我怎么就攤上這事“辛铮” “怎么了开瞭?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,316評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵懒震,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我嗤详,道長(zhǎng)个扰,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,294評(píng)論 1 292
  • 正文 為了忘掉前任葱色,我火速辦了婚禮递宅,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘苍狰。我一直安慰自己办龄,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,318評(píng)論 6 390
  • 文/花漫 我一把揭開(kāi)白布淋昭。 她就那樣靜靜地躺著俐填,像睡著了一般。 火紅的嫁衣襯著肌膚如雪翔忽。 梳的紋絲不亂的頭發(fā)上英融,一...
    開(kāi)封第一講書(shū)人閱讀 51,245評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音歇式,去河邊找鬼驶悟。 笑死,一個(gè)胖子當(dāng)著我的面吹牛材失,可吹牛的內(nèi)容都是我干的撩银。 我是一名探鬼主播,決...
    沈念sama閱讀 40,120評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼豺憔,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼额获!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起恭应,我...
    開(kāi)封第一講書(shū)人閱讀 38,964評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤抄邀,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后昼榛,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體境肾,經(jīng)...
    沈念sama閱讀 45,376評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,592評(píng)論 2 333
  • 正文 我和宋清朗相戀三年胆屿,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了奥喻。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,764評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡非迹,死狀恐怖环鲤,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情憎兽,我是刑警寧澤冷离,帶...
    沈念sama閱讀 35,460評(píng)論 5 344
  • 正文 年R本政府宣布吵冒,位于F島的核電站,受9級(jí)特大地震影響西剥,放射性物質(zhì)發(fā)生泄漏痹栖。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,070評(píng)論 3 327
  • 文/蒙蒙 一瞭空、第九天 我趴在偏房一處隱蔽的房頂上張望揪阿。 院中可真熱鬧,春花似錦咆畏、人聲如沸南捂。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,697評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至嚼摩,卻和暖如春钦讳,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背枕面。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,846評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工愿卒, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人潮秘。 一個(gè)月前我還...
    沈念sama閱讀 47,819評(píng)論 2 370
  • 正文 我出身青樓琼开,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親枕荞。 傳聞我的和親對(duì)象是個(gè)殘疾皇子柜候,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,665評(píng)論 2 354

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