Re: [問題] SQLite and UITableView 問題

看板MacDev作者 (Der)時間13年前 (2012/03/28 20:47), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/4 (看更多)
※ 引述《love100205mt (石炭石炭)》之銘言: : 各位高手你們好 : 小弟我做了一個小程式 : 是利用一個view去新增一些個人資料 : 要利用SQLite去儲存,並在首頁的TableView顯示每個人的名字 : 但是碰到一些問題 : 1.SQLite在網路上找到的教學有些需要自行創db檔,有些又可以在程式碼內新增db檔 : 有沒有一個比較完整的教學步驟可以看,因為小弟我還是個新手。 : (雖然有在網路上看到SQLite不適合剛碰觸C語言的新手) : 2.在TableView顯示的時候是要寫在 : -(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath: : (NSIndexPath *)indexPath : 裡面還是要寫在viewDidLoad裡面 : 因為我有用了NSUserDefaults寫了儲存姓名,在將姓名放在TableView的cell裡面 : 可是當我按了儲存跳到TableView的時候不會顯示,還要重新啟動才會顯示。 : 麻煩各位高手幫幫忙了!! 第一個問題 你可以去stackoverflow 去找一下關鍵字FMDatabase 這是有人寫好的open source 個人覺得輕量又蠻好用的 第二個關於Tableviewcell的問題 首先你要搞懂 cellForRowAtIndexPath 這個method 一般來說它只有在tableview被create時會跟據你給的number of row/section 的時候 會去跑 另外就是當cell從畫面外被捲動進畫面內顯示時會跑 你可以在method內印印NSLog 就可以比較了解大概是怎麼回事了 那要怎麼自己主動去更新table的資料呢? 最直接的方法就是呼叫tableview的 -(void)reloadData 這個method會強制將你table上的datasource全部更新一次 不過這方法在有時候在效率上相對的比較差 因為大部份的時候應該是不太有機會有事沒事就更新整張table才是 所以也是有針對特定cell更新的method 印象中是 -(void)reloadRows(NSArray*) withViewAnimation 之類的 不過這個在使用上稍微比較複雜一點點 假如新手上路 建議用第一種方法就好了 .......另外有一招 就是呼叫tableview的cellForRowAtIndexPath 這個method會直接回傳你指定indexpath的cell 你就可以想幹麻就幹麻XD 不過不太建議這樣幹就是 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.250.202.6
文章代碼(AID): #1FSmXAaQ (MacDev)
文章代碼(AID): #1FSmXAaQ (MacDev)