Я использую UIPickerView и даю мне ошибку (не могу преобразовать возвращаемое выражение типа '[String]' для возврата типа 'String?'/UIPickerView). Вот мой код.Невозможно преобразовать возвращаемое выражение типа '[String]' для возврата типа 'String?'/UIPickerView
// where the picker view is set up.
let cubesToWorkWith = ["3X3", "2X2", "4X4", "5X5", "6X6", "7X7", "Skewb", "Square-One"]
let threeByThreeArray = ["OLL", "PLL"]
@IBOutlet weak var pickerViewOutlet: UIPickerView!
func numberOfComponents(in pickerView: UIPickerView) -> Int {
return 2
}
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
let row = pickerView.selectedRow(inComponent: 0)
print("this is the pickerView\(row)")
switch row {
case 0:
return threeByThreeArray.count
default:
return cubesToWorkWith.count
}
}
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
switch row {
case 0:
return threeByThreeArray[row]
default:
return getArrayForRow(row: row)
}
}
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
cubeSelected = Int16(row)
}
func getArrayForRow(row: Int) -> [String] {
switch row {
case 0:
return threeByThreeArray
default:
return cubesToWorkWith
}
}
}
}
и я получаю сообщение об ошибке в случае переключения внутри titleForRow на «возвращение getArrayForRow (строка: строка)» спасибо за любую помощь заранее !!!!
' getArrayForRow' возвращает '[String] и' pickerView? (_: titleForRow: ...) 'возвращает' 'Строка. Что вы ожидали? Магическое преобразование между массивом и строкой? – user28434
P.S. это следующий вопрос из моего другого вопроса. Здесь: http://stackoverflow.com/questions/42316756/uipickerview-multi-components-in-swift –
'getArrayForRow (строка: строка)' возвращает 'Array', но «String?» Ожидается. Я не понимаю ожидаемый результат, но 'getArrayForRow (строка: строка). Сначала будет исправлена ошибка и, надеюсь, поможет вам понять проблему :-) – shallowThought