Ich erstelle eine App, die verschiedene Zeichenketten innerhalb eines Etiketts anzeigen soll, das sich in einer UITableViewCell befindet. Ich kann indexPath.row jedoch nicht verwenden, da sich die Zeichenfolgen nicht in einer bestimmten Reihenfolge befinden.Tabellenansicht neu laden, um dynamische Etikettänderungen zu erstellen iOS Swift
let one = "This is the first quote"
let two = "This is the second quote"
var numberOfRows = 1
var quoteNumber = 0
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let items = [one, two]
myTableView = tableView
let cell = tableView.dequeueReusableCellWithIdentifier("customcell", forIndexPath: indexPath) as! cellTableViewCell
let cellWidth = cell.frame.width
let cellHeight = cell.frame.height
cell.QuoteLabel.frame = CGRectMake(cellWidth/8, cellHeight/4, cellWidth/1.3, cellHeight/2)
let item = items[quoteNumber]
cell.QuoteLabel.text = item
cell.QuoteLabel.textColor = UIColor.blackColor()
if quoteNumber == 0 {
quoteNumber = 1
}
if numberOfRows == 1 {
numberOfRows = 2
}
return cell
}
override func viewDidLoad() {
super.viewDidLoad()
var timer = NSTimer.scheduledTimerWithTimeInterval(5, target: self, selector: "update", userInfo: nil, repeats: true)
}
func update() {
dispatch_async(dispatch_get_main_queue()) {
self.myTableView.reloadData()
}
Dieser Code erstellt und läuft, aber wenn der Timer I gesetzt haben abläuft und die Update-Funktion läuft, beide der zwei verfügbaren Zellen auf das gleiche Etikett ändern. Ich versuche es so zu machen, dass die erste Zelle statisch bleiben kann, während die neu hinzugefügte Zelle das neue Element aus dem 'items' -Array empfangen kann, ohne indexpath.row zu benutzen (weil die Anführungszeichen, aus denen ich werde, verwendet werden) Das Elementarray wird in keiner bestimmten Reihenfolge sein. Jede Hilfe wäre willkommen.
Ihre Daten müssen in Ordnung sein. Wie sonst können Sie die Zeilen richtig anzeigen? Ihre Daten müssen von indexPath indexierbar sein. Es kommt nicht um diese Tatsache herum. – rmaddy