我有這個問題,其中原型動態UITableViewCell上的數據值在向上滾動或向下滾動時被重置。UITableViewCell - 向上滾動或向下滾動時重置內容
我檢查的單元格是零,因爲建議在其他線程,因爲單元格被重用,但執行從未擊中,如果。
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
// Currency formatter
let formatter = NSNumberFormatter()
formatter.numberStyle = NSNumberFormatterStyle.CurrencyStyle
formatter.locale = NSLocale(localeIdentifier: "el-GR")
// Table view cells are reused and should be dequeued using a cell identifier.
let cellIdentifier = "MenuItemTableViewCell"
var cell = tableView.dequeueReusableCellWithIdentifier(cellIdentifier, forIndexPath: indexPath) as! MenuItemTableViewCell
if cell.isEqual(nil) {
cell = UITableViewCell(style: .Default, reuseIdentifier: "MenuItemTableViewCell") as! MenuItemTableViewCell
}
// Match category (section) with items from data source
let itemsPerSection = items.filter({ $0.category == self.categories[indexPath.section] })
let item = itemsPerSection[indexPath.row]
// cell data
cell.cellTitle.text = item.name + " " + formatter.stringFromNumber(item.price)!
cell.cellDescription.text = item.description
請幫忙嗎?
問候, 城邦
單元格內容在屏幕上時是否重置?究竟發生了什麼?這種方法看起來很好,還有什麼其他方法與表視圖交互? –
是的,重置發生在我向下滾動然後再次備份時。例如,我有一個自定義的步進控件,帶有一個表示菜單項(食物)數量的標籤。我將它設置爲2,向下滾動(以便單元格不在視圖中),再次向上滾動並且它是0.我在我的tableview中有多個部分,所以我也實現了titleForHeaderInSection和numberOfRowsInSection。沒什麼特別的。 – Polis
我之前有過這個問題。我現在使用翠鳥開源框架,它工作得很好。此外,它支持異步圖像,這將使您的應用程序快很多,沒有任何代碼從你身邊 –