swiftで文字列に変数を埋め込む際
swiftで文字列に変数を埋め込む際、例えば
let item = "金の剣"
print("ゲットしたアイテムは\(item)")
という感じにただ文字列に\()
を埋め込めばいいですが、なぜかそれでは動かなく、
\(())
←こういうふうに2重に囲まなければ動かなかったのですが、これはなぜでしょうか?
import UIKit
class ViewController: UIViewController, UIPickerViewDelegate, UIPickerViewDataSource {
@IBOutlet weak var myPickerView: UIPickerView!
let compos = [["月", "火", "水", "木", "金"], ["早朝", "午前中", "昼間", "夜間"]]
func numberOfComponents(in pickerView: UIPickerView) -> Int {
return compos.count
}
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
let compo = compos[component]
return compo.count
}
func pickerView(_ pickerView: UIPickerView, widthForComponent component: Int) -> CGFloat {
if component == 0 {
return 50
} else {
return 100
}
}
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
let item = compos[component][row]
return item
}
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
//選ばれた項目
let item = compos[component] [row]
print("\(item)が選ばれた")
//現在選択されている行番号
let row1 = pickerView.selectedRow(inComponent: 0)
let row2 = pickerView.selectedRow(inComponent: 1)
print("現在選択されている行番号 \((row1, row2))")
// 現在選択されている項目名
let item1 = self.pickerView(pickerView, titleForRow: row1, forComponent: 0)
let item2 = self.pickerView(pickerView, titleForRow: row2, forComponent: 1)
print("現在選択されている項目名 \((item1!, item2!))")
print("-------------")
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
myPickerView.delegate = self
myPickerView.dataSource = self
}
}