各位先進大哥好,小弟正在寫IOS APP
目前想要的功能如下
在web api抓到的SQL資料中,只把最後一筆(最新)的資料顯示在ios cell中
目前完成的部份如下圖
api最後一筆資料樣式
IOS tableview code 部分
模擬器輸出
問題如下
api共計10筆資料,有日期欄位,目前可以全部顯示在cell中,經過一番努力,已經可以只顯示最後一筆資料,但是我的程式變成前app端前9個cell都是空白的,只有cell10有值
目標是想單純tableview中只顯示最後一筆資料(一個cell)
例如:API端有一萬筆資料,我只要讓他顯示最新的一筆在我的tableview中!
感謝幫忙!!
//改兩個地方
//1.tableview 只要一列(的空間)
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
return 1;
}
//2.只顯示「最後一筆」的資料
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath {
cell.xelc1vrsLabel.text = " RS:\(elc_5mins[elc_5mins.count-1].XElc_A_Vrs) V"
cell.xelc1vstLabel.text = " ST:\(elc_5mins[elc_5mins.count-1].XElc_A_Vst) V"
...
cell.xelc1kwhLabel.text = " 用電量 \(elc_5mins[elc_5mins.count-1].XElc_A_KWH) KWH"
}
沒注意到你是用 swift
你就自己找對應的 method 改一下好了
整個 tableview 都可以顯示了
你一定沒問題的
要拿掉
cell.xelc1vrsLabel.text = " RS:\(elc_5mins[elc_5mins.count-1].XElc_A_Vrs) V"
裡面原本的 indexPath.row 有改成 elc_5mins.count-1 嗎?
1.如果沒有,請修改
2.如果有,請確認 elc_5mins.count >= 1
或者更保險一點
外面加個 if
if (elc_5mins.count >= 1) {
...
}
但是這樣治標不治本(elc_5mins)就是了
非常感謝你的回覆!目前根據你的改法測試,在外層加IF敘述就可以了,但是治標不治本是什麼意思呢?
解決「索引值超出的」問題叫「治標」
解決「elc_5mins 為什麼是空的沒資料」叫「治本」
不在乎「該有資料的來源沒有資料」
只求顯示的畫面不要蛋掉
就叫「治標不治本」