2017-12-02 25 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))