2016-10-11 15 views
4

投げこのラインself.displayResultLable.text += (title as! String)エラー値の型 "string?"を変換できません。 「inoutの文字列」予想引数の型に

値の型変換できません「の文字列を?」 "文字列inoutの" 期待引数の型

にここに私のコードです:

if results.count > 0 { 
        var displayResult : String? 
        for books in results as! [NSManagedObject] { 

         if let title = books.valueForKey("title") { 

          self.displayResultLable.text += (title as! String) 

         } 
        } 
       } 

ここinout文字列は何ですか?ベストプラクティスは何ですか?

注正常に動作し、このラインself.displayResultLable.text = (title as! String):あなたはこの代わりのようにそれを記述する必要が

答えて

10

self.displayResultLable.text = self.displayResultLable.text! + title as! String 

It's左側のオプションであり、右側が彼らとではありませんので、マッチしないでください。あなたはlabel.text = label.text + ...

を記述する必要がなぜThat's私はまた、あなたのif letこの代わりに変更することをお勧めすることができます

if let title = books.valueForKey("title") as? String { 
    self.displayResultLable.text = (self.displayResultLable.text ?? "") + title 
} 
+1

displayResultLable.textは、オプションの種類がありますか? –

+0

はい、私からの入力ミス、それを更新しましたthanks @ NazmulHasan –

+2

なぜ+ =ここでは動作しませんか? –

関連する問題