iOS開發(fā) ? 實例——移動通信小項目獨立開發(fā)問題總結(jié)

最近一個月時間在做一個小項目赂弓,它是屬于移動通信類的一個掃碼工具app,功能比較簡單哪轿,主要有:登錄盈魁、記住密碼、工程信息同步窃诉、工程信息詳情展示杨耙、掃描二維碼獲取本地數(shù)據(jù)展示赤套、掃碼記錄、用戶切換珊膜。如下所示:

1.掃碼功能本地數(shù)據(jù)路徑讀取問題容握。

這個小項目的核心功能就是掃碼,首次登錄的時候车柠,會從接口請求一個壓縮包的下載鏈接剔氏,然后保存到沙盒的library文件中,接著解壓出來竹祷,里面是一個txt的文本谈跛,文本中是6組數(shù)據(jù),如下所示:

用AFN請求數(shù)據(jù)塑陵,解壓是通過第三方OC框架SSZipArchive感憾,這個框架具體的用法請百度,這里不再詳述令花,完成了這兩步之后阻桅,就是讀取文本中的數(shù)據(jù),寫入plist文件中彭则,然后把plist文件存入沙盒中鳍刷,這些全部在首次登錄成功后進入主界面全部要實現(xiàn),具體讀取寫入代碼如下:

掃碼這幾步實現(xiàn)都比較順暢俯抖,接下來就遇到第一個問題输瓜,這個app,之所以做本地存取芬萍,掃碼讀取數(shù)據(jù)尤揣,就是為了在無網(wǎng)絡(luò)情況下也能夠無障礙使用,只要第一次登錄成功之后柬祠,所有的數(shù)據(jù)都獲取到之后北戏,做本地緩存,在無網(wǎng)絡(luò)情況下漫蛔,通過本地存儲來獲取嗜愈。

一開始,我的思路是讀取文件之后莽龟,獲取HomeData.plist路徑文件蠕嫁,然后把文件路徑保存下來,進入掃碼界面的時候毯盈,直接讀取文件路徑剃毒,把plist中的字典數(shù)組存入可變數(shù)組dicArr中,如下代碼所示,在斷網(wǎng)的時候赘阀,本地路徑和文件都存在沙盒中益缠,但dicArr為null。

上面的方法表明基公,在無網(wǎng)絡(luò)的情況下幅慌,直接讀取路徑的方式是不可行的,解決的方法就是酌媒,取消掉傳filename路徑的方式欠痴,直接在掃碼的控制器中,通過沙盒秒咨,直接讀取喇辽,如下代碼所示:

2.掃碼詳情界面展示問題。

路徑問題解決雨席,實現(xiàn)了有網(wǎng)無網(wǎng)的情況下菩咨,數(shù)組都有值了,接著就是要掃碼獲取到二維碼中的兩個id陡厘,來判斷數(shù)組中哪組數(shù)據(jù)匹配抽米,展示到詳情界面上去,詳情界面如下圖所示:

通過AVCaptureMetadataOutputObjectsDelegate的方法糙置,掃碼二維碼云茸,獲取到二維碼中的3個值,如下所示:

到了這里谤饭,我碰到兩個問題标捺,第一,我要如何通過id判斷是數(shù)組中的哪一組字典揉抵,然后保存到新的字典中亡容,傳到下一個界面?第二冤今,掃碼記錄界面只需要獲取3個字段闺兢,應(yīng)該如何在掃碼記錄的控制器中獲取到?掃碼記錄界面如下所示:

首先解決第一個問題戏罢,通過格式轉(zhuǎn)換獲取到二維碼中的portId和coupledId屋谭,然后通過for循環(huán)判斷數(shù)組中每一個字典的id的值是否與portId或者coupledId,如果相同龟糕,就分別存入字典portDict和coupledDict戴而,傳到展示界面去做處理。當然了翩蘸,還做了錯誤的二維碼的處理。

接著淮逊,解決第二個問題催首,我在AVCaptureMetadataOutputObjectsDelegate代理方法中扶踊,創(chuàng)建了一個NSMutableDictionary,掃碼記錄只需要3個字段郎任,我通過第一個問題中的for循環(huán)判斷過程中秧耗,獲取到3個字段的值,存入tempDict中舶治,然后把tempDict添加到tempArr中分井,再將tempArr寫入tempData.plist文件,存儲在沙盒中霉猛,在掃碼記錄界面中尺锚,再去一條條展示在tableview上面。

如下代碼所示:

總結(jié):本地存儲是一種很好的方式惜浅,NSUserDefault瘫辩、plist、數(shù)據(jù)庫坛悉、CoreData都有不同作用伐厌,這個小項目采用了前兩種,由于我本人之前做的幾個app都是沒有做本地緩存的邏輯裸影,所以挣轨,這個項目的開發(fā)過程中,有不少問題轩猩,給我留下了深刻的印象卷扮,也學到不少經(jīng)驗,代碼的水平提升界轩,最直接的方式画饥,就是實現(xiàn)業(yè)務(wù)邏輯、實現(xiàn)功能的過程中浊猾,自己不斷地總結(jié)抖甘,希望自己能夠變得更加厲害,也希望各位大神多多指教葫慎。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末衔彻,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子偷办,更是在濱河造成了極大的恐慌艰额,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件椒涯,死亡現(xiàn)場離奇詭異柄沮,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進店門祖搓,熙熙樓的掌柜王于貴愁眉苦臉地迎上來狱意,“玉大人,你說我怎么就攤上這事拯欧∠甓冢” “怎么了?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵镐作,是天一觀的道長藏姐。 經(jīng)常有香客問我,道長该贾,這世上最難降的妖魔是什么羔杨? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮靶庙,結(jié)果婚禮上问畅,老公的妹妹穿的比我還像新娘。我一直安慰自己六荒,他們只是感情好护姆,可當我...
    茶點故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著掏击,像睡著了一般卵皂。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上砚亭,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天灯变,我揣著相機與錄音,去河邊找鬼捅膘。 笑死添祸,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的寻仗。 我是一名探鬼主播刃泌,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼署尤!你這毒婦竟也來了耙替?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤曹体,失蹤者是張志新(化名)和其女友劉穎俗扇,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體箕别,經(jīng)...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡铜幽,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年滞谢,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片除抛。...
    茶點故事閱讀 38,059評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡爹凹,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出镶殷,到底是詐尸還是另有隱情,我是刑警寧澤微酬,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布绘趋,位于F島的核電站,受9級特大地震影響颗管,放射性物質(zhì)發(fā)生泄漏陷遮。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一垦江、第九天 我趴在偏房一處隱蔽的房頂上張望帽馋。 院中可真熱鬧,春花似錦比吭、人聲如沸绽族。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽吧慢。三九已至,卻和暖如春赏表,著一層夾襖步出監(jiān)牢的瞬間检诗,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工瓢剿, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留逢慌,地道東北人。 一個月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓间狂,卻偏偏與公主長得像攻泼,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子前标,可洞房花燭夜當晚...
    茶點故事閱讀 42,792評論 2 345

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