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 likes