条件二元运算符错误

Posted

技术标签:

【中文标题】条件二元运算符错误【英文标题】:Binary operator error on condition 【发布时间】:2018-02-22 11:11:29 【问题描述】:

我想在 pickerview 行上给出条件,但它只是给了我错误。 二元运算符不能应用于操作数

let viewList: [String] = ["Fixed", "Recurring"]

func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) 

    if (viewList[row] == 0) 

    

【问题讨论】:

请帮帮我 您要查看row == 0吗?您现在正在将字符串与数字进行比较。 【参考方案1】:

更新答案

尝试这样做:

class MyViewController: UIViewController 
    fileprivate let viewList: [String] = ["Fixed", "Recurring"]


// MARK: - UIPickerViewDelegate
extension MyViewController: UIPickerViewDelegate 
    func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) 
            print("Selected value \(viewList[row]) at row \(row)")

            if viewList[row] == "Fixed" 
                print("Fixed has been selected!")
            
    

问题来自你的情况,试试下面的代码。

更多信息:Apple Documentation - Collection Types

【讨论】:

var viewList : [String] = ["Fixed","Recurring"] func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int return viewList.count func pickerView(_ pickerView:UIPickerView,titleForRow 行:Int,forComponent 组件:Int)-> String? self.view.endEditing(true) return viewList[row] func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) 我已经尝试过你声明数组的方式,但它仍然给出同样的错误 我正在使用 swift3 好的,我明白了!如果您想检查用户是否触摸了第一个单元格,只需执行if row == 0 print("Touched row 0") ,但如果您想检测用户是否选择了值为“Fixed”的单元格,只需执行if viewList[row] == "Fixed" print("Touched row Fixed") ,但要小心,以防您的应用程序需要内部化。 @ShaybazSayyed 如果这解决了你的问题,请接受答案:)

以上是关于条件二元运算符错误的主要内容,如果未能解决你的问题,请参考以下文章

程序执行顺序

错误:二元运算符的非数字参数

错误:重载的 'operator<<' 必须是二元运算符(有 3 个参数)

JavaScript一元运算符二元运算符和三元运算符

Y * 0 中的错误:二元运算符的非数字参数 - RNN

y - ymean 中的错误:二元运算符 randomForest R 的非数字参数