2017-12-02 5 views
1

Ich bin neu mit Swift und ich habe ein Problem, wenn ich diesen Code erstellen möchte. "Ausdruck war zu komplex, um in angemessener Zeit gelöst werden zu können; erwägen, den Ausdruck in einzelne Unterausdrücke aufzuteilen".Lange Argument zu drucken() erzeugt Fehler "Ausdruck war zu komplex, um gelöst zu werden"

Ich denke, meine Methode zu verwalten zugeordnet, wenn ich etwas drucken möchte, ist falsch, aber ich habe nicht gefunden, warum.

class Personne{ 
    var name : String 
    var forename : String 
    init(name : String, forename:String) { 
     self.name = name 
     self.forename = forename 
    } 
} 

class UnilStudent : Personne{ 
    var id : Int 
    var section : String 
    init(name :String, forename:String, id:Int, section:String) { 
     self.section = section 
     self.id = id 
     super.init(name:name, forename:forename) 
} 

    func affiche() { 
     print("Unil student N°" + \(self.id) + " : " + \(self.name) + \(self.forename) + "\n" + \(self.section + "\n")} 
} 

class Assistants : UnilStudent{ 
    var assistantship : String 
    init(name :String, forename:String, id:Int, section:String, assistantship : String){ 
    self.assistantship = assistantship 
    super.init(name :name, forename:forename, id:id, section:section) 
} 

    override func affiche() { 
     super.affiche() 
     print("Unil student N°" + \(self.id) + " : " + \(self.name) + " " + \(self.forename) + "\n from " + \(self.section) + "is a student assistant for" + \(self.assistantship) + "\n")} 

    func printid(){ 
     print("L'id de " + \(self.name) + " " + \(self.forename) + " est " + \(self.id)) 

} 
} 


let Adrien = Assistants(name : "BOB", forename : "BOBBY", id : 12000000, section : "FDCA", assistantship : "ACT") 
let Alice = UnilStudent(name: "Hapoka", forename : "Alice", id : 17000000, section : "HEC") 


print(Adrien) 

Antwort

2

Das Problem hat nichts mit Vererbung zu tun. \(...) ist für String Interpolation und kann nur innerhalb eine Zeichenfolge verwendet werden, zum Beispiel:

print("Unil student N°\(self.id) : \(self.name)\(self.forename)") 

anstelle von

print("Unil student N°" + \(self.id) + " : " + \(self.name) + \(self.forename)) 
Verwandte Themen