Ich habe ein eigenes Unternehmen Objekt wie folgt aufgebaut:einer benutzerdefinierten Objektdaten Lesen einer Tabellenansicht aufzufüllen
class Company: NSObject {
var companyName: String
var companyLogo: String
var stockPrice: String
init(companyName:String, companyLogo:String, stockPrice:String) {
self.companyName = companyName
self.companyLogo = companyLogo
self.stockPrice = stockPrice
}
}
Und ich gebe jeder wie folgt seine Eigenschaften Objekt:
func companyList() -> [Company] {
let apple = Company(companyName: "Apple", companyLogo: "AppleLogo", stockPrice: prices[0])
let google = Company(companyName: "Google", companyLogo: "GoogleLogo", stockPrice: prices[1])
let twitter = Company(companyName: "Twitter", companyLogo: "TwitterLogo", stockPrice: prices[2])
let tesla = Company(companyName: "Tesla", companyLogo: "TeslaLogo", stockPrice: prices[3])
let samsung = Company(companyName: "Samsung", companyLogo: "SamsungLogo", stockPrice: prices[4])
return [apple, google, twitter, tesla, samsung]
}
I Möchte man die Namen eines TableViews mit den Daten des Company-Objekts füllen - zum Beispiel möchte ich die Labels der Tabellenansicht so einstellen, dass alle Firmennamen gelesen werden - mit einem fest codierten Array von Firmennamen-Strings (also nicht als Objekt) so einfach ist :
cell.textLabel.text = companyNames[indexPath.row]
Wie kann ich jetzt dasselbe tun, wenn ich ein Firmenobjekt habe?
Dank Connor nicht ausreicht ... Ich habe beide ausprobiert und habe Index-Out-of-Range-Abstürze bekommen, ich bin mir nicht ganz sicher, wo das Problem liegt, aber es könnte mein Preis-Array sein, da das auf die Aktienkurse warten muss. – d0xi45
Das ist fast sicher die Ursache. Wenn Sie Objekte von einem Ort abrufen, müssen Sie warten, bis dieser Aufruf zum Laden Ihrer Tabelle abgeschlossen ist. – Connor
Wäre es nicht möglich, cell.textLabel.text in den Completion-Handler für den Aktienkurs-Fetcher zu setzen? Ich habe genau das versucht und immer noch den gleichen Fehler. – d0xi45