2017-09-29 32 views
0

私はクラスを初期化しようとしていますが、私はこのエラーが発生しており、私の人生のためにそれを理解することはできません。余分な引数の呼び出し

class Document { 
    var title:String 
    var body = "" 
    var length: Int { 
     get { 
      return body.characters.count 
     } 
    } 

    init(title:String) { 
     self.title = title 
    } 
} 

let document1 = Document(title: "The Day", body: "It was a day to remember.") //error here on body 

答えて

2

新しいDocumentインスタンスを作成するときにのみTitleを取得するようにDocumentクラスに指示しています。

init(title: String, body: String) { 
    self.title = title 
    self.body = body 
} 

エクストラクレジット:あなたも初期化体を渡したい場合は
は、にあなたの初期化子を変更

言ってやるが、あなたは常に新しいを初期化するとき、本体を渡したくありませんドキュメント、bodyにデフォルト値を追加します。次に

init(title: String, body: String = "") { 
    self.title = title 
    self.body = body 
} 

あなただけ行うことができます。

let doc = Document(title: "Test Doc") 
+0

この呼び出しを行うと、このクラスをどのように初期化できますか? 'let document1 =ドキュメント(タイトル:" Hello World ")' –

+0

ありがとう! –

+0

あなたは大歓迎です:) – LinusGeffarth

関連する問題