Swift:结果值在';?:';表达式的类型不匹配';类别';和';()';
我得到了这个错误: “?:”中的结果值表达式具有不匹配的类型“MySection”和“()”,其中MySection是一个类 在以下代码行中:Swift:结果值在';?:';表达式的类型不匹配';类别';和';()';,swift,Swift,我得到了这个错误: “?:”中的结果值表达式具有不匹配的类型“MySection”和“()”,其中MySection是一个类 在以下代码行中: let myVariable = mySection.rawValue == 0 ? myClass.doSomethingAtIndex:(index: indexPath.row) : myClass.doSomethingElseAtIndex(index: indexPath.row) 你们中的任
let myVariable = mySection.rawValue == 0 ?
myClass.doSomethingAtIndex:(index: indexPath.row) :
myClass.doSomethingElseAtIndex(index: indexPath.row)
你们中的任何人都知道我为什么会出现这个错误,或者我如何修复这个错误或者解决这个问题
我非常感谢您的帮助。您有:
let myVariable = mySection.rawValue == 0 ?
myClass.doSomethingAtIndex:(index: indexPath.row) :
myClass.doSomethingElseAtIndex(index: indexPath.row)
应该是这样的:
let myVariable = mySection.rawValue == 0 ?
myClass.doSomethingAtIndex(index: indexPath.row) :
myClass.doSomethingElseAtIndex(index: indexPath.row)
注意我从doSomethingAtIndex和括号中删除的“:”(“您有:
let myVariable = mySection.rawValue == 0 ?
myClass.doSomethingAtIndex:(index: indexPath.row) :
myClass.doSomethingElseAtIndex(index: indexPath.row)
应该是这样的:
let myVariable = mySection.rawValue == 0 ?
myClass.doSomethingAtIndex(index: indexPath.row) :
myClass.doSomethingElseAtIndex(index: indexPath.row)
注意我从doSomethingAtIndex和括号中删除的“:”(“在
myClass.doSomethingAtIndex:(索引:indexath.row)中是否有额外的:
)
?您需要查看myClass.doSomethingAtIndex和myClass.doSomethingElseAtIndex函数的返回类型。它们似乎返回不同类型的值,但不起作用。我认为DashBlinklight发现了它。您有一个不属于的冒号。是的,额外的“:”字符改变了整个语句。现在,myClass.doSomethingAtIndex
是它在正确时会尝试的,而在不正确时会尝试(index:indexath.row)
。@supportoftruth我正在尝试进行布尔比较,并选择其中一个或另一个,这就是问题的原因:“myClass.doSomethingAtIndex:中是否有额外的:
?您需要查看myClass.doSomethingAtIndex和myClass.doSomethingElseAtIndex函数的返回类型。它们似乎返回不同类型的值,但不起作用。我认为DashBlinklight发现了它。您有一个不属于的冒号。是的,额外的“:”字符改变了整个语句。现在,myClass.doSomethingAtIndex
是它在正确时会尝试的,而在不正确时会尝试使用(index:indexath.row)
。@SupporterOfTruth我正在尝试进行布尔比较,并选择其中一个,这就是产生以下错误的原因:“