2017-01-02 4 views
-1

Ich bin neu in Swift 3 und ich habe ein Problem mit dem folgenden Code:Ungelöste Identifier Scope

func downloadData() {... downloads data about actors in JSON and initializes a Struct Actor} 

dann:

class MasterViewController: UITableViewController { 

    var dataArray = [Actor]() //declare an empty array of type Actor 

    override func viewDidLoad() { 

     super.viewDidLoad() 

     dataArray = downloadData() //to populate an empty array with data downloaded from web 

     print(dataArray) 

Wenn ich versuche, den Code zu kompilieren ich den Fehler erhielt Ungelöste Identifikator Ich nehme an, dass es wegen des Umfangs ist. Kann mir jemand die richtige Richtung zeigen? Vielen Dank!

+1

Wir brauchen mehr Informationen, um hier weiterzumachen. Welche Kennung ist nicht aufgelöst? Wo passiert der Fehler? –

+1

Wo definierst du 'downloadData()'? Was gibt es zurück? Ist es eine asynchrone Funktion beim Herunterladen von Daten aus dem Internet? Wenn ja, benötigen Sie Rückrufe oder Delegierte oder Ähnliches. –

+0

Warum erstellen Sie ein neues Array, weisen Sie es 'dataArray' zu und überschreiben Sie es sofort mit dem Ergebnis von' downloadData() '? – Alexander

Antwort

0
class MasterViewController: UITableViewController { 

    var dataArray = [Actor]() //declare an empty array of type Actor 

    override func viewDidLoad() { 

     super.viewDidLoad() 

     dataArray = downloadData() //to populate an empty array with data downloaded from web 

     print(dataArray) 
    } 

    func downloadData() -> [Actor] { 

     return [Actor]() 
    } 
} 

Implementieren Sie einfach die downloadData-Methode. bearbeiten: Sie können mit EVReflection und Alamofire (Pods) Json herunterladen und Actors erstellen und Array füllen.

+0

wenn ich versuche, ein leeres Array zu befüllen 'dataArray = downloadData()' Ich erhalte diesen Fehler: Kann den Wert von type() nicht dem Typ [Actor] zuweisen. – Luke

+1

Sind Sie sicher, dass "func downloadData() -> [Actor]" in Ihrem Code vorhanden ist? – Axel

1

Ihre Funktion/Methode, downloadData() gibt nichts zurück.