![]() |
| 原始storyBoard |
原始設計概念
第一頁:首頁(設計兩顆按鈕:紅色的那顆指向最後一個TableViewController,Scan鈕開啟掃描器執行掃描barCode的功能)
第二頁:設計來顯示比對資料庫後的結果若資料庫已存在顯示“XXX以在資料庫”按下按鈕挑轉第三頁TableViewController,若不存在資料庫則跳轉第二之一頁
第二之一頁:不存在資料庫的資料表示需要新增,在此給予掃描到的barCode資料,使用者自行輸入書名,按下按鈕新增資料並轉化畫面到第三頁TableViewControlelr(書庫)
實際執行難題
第一二三頁Navigation Controller包著,當執行改造計畫變更設計時,2-1的轉場方式便成為難題
第二頁存在的必要性
版本1.1改進存檔方式,由原本的userDefault改進為 單純存取檔案,檔案預設為TXT
改進存檔結構,原始預設用struct來存取預計顯示的兩個變數ISBN,BOOKTITLE

原始預想從首頁接受到barCode值之後一路傳到最後一頁並存檔顯示
後來在改進版修正過程中發現,在ShelgTableViewController裡我自定義的一個Array內包含的Dictionary儲存格式並沒有用到一開始設定的struct,也就是第一版present時整體程式前後參數傳值其實不連貫,完全就是兩個部分呵呵呵(崩潰)
改進方案:
修正儲存結構,並開始使用struct
原本是在第3頁才儲存值並顯示,這次改為在2-1頁存檔並在第三頁讀取存檔然後顯示,這會引發一個問題,第二頁存在的必要性以及2-1頁因為沒有跟navigation controller連接所以若要更動轉場畫面會比較麻煩(EX:將2-1的按鈕 原本是按下去後轉場至第三頁並將畫面上的值傳給第三頁,改動後按下按鈕後就存檔,因為檔案已存入所以改為按下去後就dismiss回到第一頁,若要觀看剛剛存入的畫面,只要在第一頁上按下書庫按鈕即可)
待解決的問題:由於第二頁到2-1的轉場是present segue的方式,所以目前尚未找到方法可以直接回到第一頁,若在2-1使用dissmiss 則會回到第二頁
心得:
程式設計之初就得仔細思考並調整實際運作時的轉場,傳值,及資料儲存方式
Mini
Project 改進方案
使用CoreData 改進資料儲存的方法
改進現有資料儲存方法
開發紀錄
1.解決串接Ali
2.傳值到新的頁面
3.與tableView串接
改進方案
1.tableView客製化,可以刪除單筆資料
2.使用coreData儲存
3.進階跨頁傳值(首頁新增按鈕到tableView)
4.放入


沒有留言:
張貼留言