У меня есть приложение, которое имеет табличное представление, встроенное в ViewController, и всякий раз, когда я перехожу к другому ViewController и перехожу обратно в представление таблицы, ячейки повторяются при прокрутке. Есть ли у кого-нибудь советы о том, как предотвратить это? Текущий код Tableview является:Пользовательские ячейки, повторяющиеся
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return marathonRaces.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let singleCell: marathonTableViewCell = tableView.dequeueReusableCellWithIdentifier("marathonCell") as! marathonTableViewCell
singleCell.marathonName.text = marathonRaces[indexPath.row]
singleCell.entry.text = "\(entryNumber[indexPath.row])"
singleCell.entries.text = "\(entires[indexPath.row])"
singleCell.length.text = "\(length[indexPath.row])"
return singleCell
}
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
let indexPath = self.marathonsTableView.indexPathForSelectedRow!
let currentCell = marathonsTableView.cellForRowAtIndexPath(indexPath) as! marathonTableViewCell
let marathonEvents = currentCell.marathonName.text
self.performSegueWithIdentifier("marathonDetail", sender: self)
}
Я использую быстрый, xcode7, и разобрать, как мой бэкэндом
только соответствующий код в viewDidAppear будет:
var query = PFQuery(className: “Marathons")
query.orderByAscending("end")
query.findObjectsInBackgroundWithBlock { (marathons, error:NSError?) -> Void in
if(error == nil){
//success
for marathon in marathons! {
self.marathonRaces
.append(marathon[“marathonName"] as! String)
self.entry.append(marathon[“entryNumber"] as! Int)
self.entries.append(marathon[“entries"] as! Int)
self.length.append(marathon[“length"] as! Int)
}
self.marathonsTableView.reloadData()
}else {
print(error)
}
}
Что означает «повторение» в «представлении таблицы, когда ячейки повторяются при прокрутке»? – zaph
ли массив 'marathonRaces' имеет дублирующие элементы? – Deva
, если ваш массив имеет 3 элемента, вы будете клетками 3 ячейки с 4 ярлыками каждый !!!! и 3 ярлыка будут иметь одинаковый текст во всех ячейках !!!! Это то, что вы назвали повторением? –