LoginSignup
irigoma
@irigoma

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

label.textでString型を認識されない?

解決したいこと

Xcode12.5.1でSwiftを使っています。
複数個の要素からランダムで2つ取り出し、それをlabel.textで表示させたいのですが、エラーが出てしまいます。
初心者なのでつまらない質問かと思いますが、調べても出てこなかったので助けていただきたいです。

発生している問題・エラー

Cannot assign value of type '[String]' to type 'String'

該当するソースコード

import UIKit

class ViewController: UIViewController {


    @IBOutlet weak var label: UILabel!
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.

        let k = ["聴診","打診","視診","触診"]
        ///kの中からランダムな2つを取り出してlabelに表示させたい
        let k1 = k.shuffled()
        let k2 :ArraySlice = k1.prefix(2)
        let k3:[String] = k2.map{$0}
        label.text = k3
        ///k3でエラーが出たので他の方法を試す
        let k4:[String] = Array(k2)
        label.text = (k4)
        ///やはりエラー
        print(k3)
        print(k4)
        ///printは成功 
    }
}

自分で試したこと

String型じゃないとlabel.textに入れることができないのかと思いmapを使ったりしてみたのですが、エラーが出てしまいました。

0

No Answers yet.

Your answer might help someone💌