2016-07-22 12 views
3

Ich möchte eine UILabel innerhalb einer UICollectionViewCell jede Sekunde aktualisieren, welche UICollectionView Funktion sollte ich dafür verwenden?Welche UICollectionView-Funktion sollte verwendet werden, um UILabels innerhalb einer Zelle zu aktualisieren?

Das UILabel ist auf diese Weise codiert.

func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell { 
cell.dayCountLabel.text = dayCount(Globals.datesArray[indexPath.item]) 
} 

Und empfängt Daten auf diese Weise.

func dayCount (dayCount: String) -> String{ 
    let day = dayCount 
    let date2 = NSDate() 
    let dateFormatter = NSDateFormatter() 
    dateFormatter.dateFormat = "dd MMMM yyyy hh:mm a" 
    let date1: NSDate = dateFormatter.dateFromString(day)! 
    let diffDateComponents = NSCalendar.currentCalendar().components([NSCalendarUnit.Day], fromDate: date1, toDate: date2, options: NSCalendarOptions.init(rawValue: 0)) 
    let difference = String("\(abs(diffDateComponents.day))") 
    return difference 
} 

Sorry für die Anfängerfrage.

+0

Vielleicht Stunde neu konfigurieren sollten Ihre Logik, anstatt sie jede Sekunde zu aktualisieren? –

+0

mein UICollectionViewCell hat einen Countdown-Timer zeigt Sekunden, deshalb muss es jede Sekunde aktualisiert werden – Khoury

+0

Also Logik in Ihre Custom Collection View Cell-Klasse und rufen Sie Ihre Methode jede Sekunde. Es gibt keine vordefinierten Methoden –

Antwort

2

Wenn Sie Datenquelle Text vorbereitet haben in UILabel, rufen reloadData Funktion anzuzeigen:

yourCollectionView.reloadData() 

Andernfalls werden Sie den alten Text Wert.

aktualisieren

func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell { 
    let cell = collectionView.dequeueReusableCellWithReuseIdentifier("reuseId", forIndexPath: indexPath) as! UICollectionViewCell 

    //update cell subviews here 
    return cell 
} 

In Ihrem Fall sollten Sie erstellen und UICollectionViewCell benutzerdefinierte Unterklasse zurück, wo Sie dayCountLabel implementiert, weiß nicht, Ihren Namen benutzerdefinierte Klasse ...

+0

Ich habe das, aber es aktualisiert nicht die UILabel, nur die Sammlungsansicht – Khoury

+0

Zeigen Sie uns Code bitte wo und wie Sie Text auf 'UILabel' setzen ... –

+0

Just machte eine Bearbeitung – Khoury