作者chd75131 (Der)
看板MacDev
标题Re: [问题] SQLite and UITableView 问题
时间Wed Mar 28 20:47:03 2012
※ 引述《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