我刚刚创建了公交车票预订应用程序。现在,我想保存搜索历史记录(城市名称和日期)并在我的tableView中显示。这就是我在SearchButtonAction
中编写的代码。
@IBAction func btnSearchAction(_ sender: Any) {
if txtTo.text != nil && txtFrom.text != nil {
arrTo.append(txtTo.text!)
arrFrom.append(txtTo.text!)
UserDefault.set(arrTo, forKey: "arrTo")
UserDefault.set(arrFrom,forKey: "arrFrom")...
}
}
现在在我的historyViewController
上,我像下面这样编码
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return arrFrom.count
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return 200
}
func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat {
return 100
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "RecentCell") as! RecentCell
cell.selectionStyle = .none
cell.lblFrom.text = arrFrom[indexPath.row]
cell.lblTo.text = arrTo[indexPath.row]
tblSearch.reloadData()
return cell
}
因此,它一次又一次地调用numberOfRowsInSection
方法。即使arr计数不止一个。在UserDefaults中保存两个textField文本的正确方法是什么。
答案 0 :(得分:0)
从tblSearch
TableView数据源方法中删除cellForRowAt
的重载数据
答案 1 :(得分:0)
当您在import numpy as np
df_1 = np.sort(df_master.date.unique())
df_1_df = pd.DataFrame(df_1)
df_1_df.columns
RangeIndex(start=0, stop=1, step=1)
方法中重新加载tableview
时,cellForRowAt
将进入循环。因此,您tableview
将不会显示。因此,请从tableview
方法中删除tblSearch.reloadData()
这行。
请检查屏幕截图,以便您更好地了解循环。
http://prntscr.com/lte2mo