Ich habe eine Reihe von Freunden, Arrays ihrer verwandten Informationen. Ich rende Zellen in einer Tabellenansicht, und das funktioniert großartig. Ich kann die App zum Absturz bringen, wenn ich mit vielen Klicks auf dem Bildschirm nach oben/unten scrolle ... und ich kann nicht für das Leben von mir verstehen, warum!Swift - Index außerhalb des Bereichs in UITableVewController
Dies ist der Fehler: fatale Fehler: Index außerhalb des zulässigen Bereichs
Es nicht so sein Sinn und Verstand scheint, warum dies geschieht, und es ist wirklich verwirrend. Einblick würde geschätzt werden.
Dies ist die andernfalls Klasse:
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as! PictureCell
let pos = self.positiveVoteArray.reduce(0,combine: {$0 + $1})
let neg = self.negativeVoteArray.reduce(0,combine: {$0 + $1})
let progress = (pos + neg)/pos
//Fails below this line, first reference to indexPath.row //
cell.usernameBtn.setTitle(usernameArray[indexPath.row], forState: .Normal)
cell.uuidLbl.text = uuidArray[indexPath.row]
avaArray[indexPath.row].getDataInBackgroundWithBlock { (data:NSData?, error:NSError?) in
if error == nil {
cell.avaImg.image = UIImage(data: data!)
}
}
if votedFriendsArray.contains((PFUser.currentUser()?.username!)!) {
cell.scoreBar.hidden = false;
cell.dislikeBtn.hidden = true;
cell.likeBtn.hidden = true;
cell.scoreBar.setProgress(progress, animated: true)
} else {
cell.scoreBar.hidden = true;
cell.dislikeBtn.hidden = false;
cell.likeBtn.hidden = false;
}
picArray[indexPath.row].getDataInBackgroundWithBlock { (data:NSData?, error:NSError?) in
if error == nil {
cell.picImg.image = UIImage(data: data!)
}
}
// assign index
cell.usernameBtn.layer.setValue(indexPath, forKey: "index")
return cell
}
Auf welcher Zeile erhalten Sie den Fehler? –
@SamM der Fehler ist unter dem Kommentar, Zeile 8 – matt