2017-12-02 18 views
1

私はSwiftで新しく、このコードを作成したいときに問題がある。 "表現があまりにも複雑すぎて妥当な時間に解決できず、式を別個の部分式に分割することを検討する"。print()の引数が長すぎてエラーが発生する "式が複雑すぎて解決できない"

私はプリントをしたいときに属性を管理する方法は間違っていると思いますが、なぜそれは見つからなかったのですか?

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) 

答えて

2

問題は継承とは無関係です。 \(...)列補間ためのものであり、唯一例えば、ストリング内部を使用することができる。

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

代わりに

print("Unil student N°" + \(self.id) + " : " + \(self.name) + \(self.forename)) 
関連する問題