web-dev-qa-db-ja.com

値型「文字列」を変換できませんか?予想される引数タイプ「inout string」へ

この行self.displayResultLable.text += (title as! String)エラースロー

値型「文字列」を変換できませんか?予想される引数タイプ「inout string」へ

ここに私のコードがあります:

_   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)が正常に機能していることに注意してください。

8
user6847532

代わりに次のように記述する必要があります。

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

左側はオプションであり、右側はそうではなく、一致しないためです。だからlabel.text = label.text + ...と書く必要があります.

また、if let代わりにこれに:

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

オプションの連鎖演算子を使用して、オプションの(self.displayResultLable.text)は非nilです:

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