2016-07-09 11 views
0

Ich habe ein Problem mit der Zuweisung von [String] -Wert zu Label. (oder - besser - zu UITableView). Ich bekomme den Fehler 'Kann nicht den Wert vom Typ [String] dem Typ String zuweisen?'Kann dem Typ String kein Wert vom Typ [String] zugewiesen werden? mit dem Textlabel

Ich versuchte mit als? Strig und wie! String, aber das funktioniert auch nicht gut. Der Code:

import UIKit 

class ViewController: UIViewController { 
@IBOutlet weak var myLabel: UILabel! 

let cal = NSCalendar.currentCalendar() 
let fmt = NSDateFormatter() 
var auctionDates = [String]() 

let textCellIdentifier = "TextCell" 

override func viewDidLoad() { 
    super.viewDidLoad() 

    fmt.dateFormat = "(EEE)" 
    fmt.locale = NSLocale(localeIdentifier: "pl_PL") 

    var date = cal.startOfDayForDate(NSDate()) 

    while auctionDates.count < 7 { 
     let weekDay = cal.component(.Weekday, fromDate: date) 
     if weekDay != 0 { 
      auctionDates.append(fmt.stringFromDate(date)) 
     } 
     date = cal.dateByAddingUnit(.Day, value: 1, toDate: date, options: NSCalendarOptions(rawValue: 0))! 
    } 
    print(auctionDates) 
    self.myLabel.text = auctionDates 

} 
} 

Jede Hilfe wäre toll;)

+0

Ich weiß, ich, dass mit self.myLabel.text umgehen = „\ (auctionDates [0]), \ (auctionDates [1]), \ (auctionDates [2]), \ (auctionDates [3]), \ (auctionDates [4]), \ (auctionDates [5]), \ (auctionDates [6]) "Aber diese Option ist beschissen. – Szekspir

+0

Nicht verknüpft, aber warum schreiben Sie ein Gebietsschema hart, um die Daten zu formatieren? Personen außerhalb Polens können Daten in ihrem eigenen Format bevorzugen. Beachten Sie außerdem, dass NSDateFormatter bereits die Eigenschaft 'shortWeekdaySymbols' besitzt, um ein Array von Wochentagsnamen zu erhalten. Keine Notwendigkeit für den gesamten Code, den Sie geschrieben haben. – rmaddy

Antwort

3
  • auctionDates ist ein Array (eine Liste von Strings)
  • text erwartet eine Einzelsaite (keine Liste)

Es gibt viele Lösungen, eine davon ist zu flachten n die Liste

self.myLabel.text = auctionDates.joinWithSeparator(", ") 
Verwandte Themen