我有一个Swift应用程序。
我从Xcode编译器收到错误Expected expression after '?' in ternary expression
in
private func getContentPre(highlight: Highlight) -> String!
{
highlight.contentPre.count == 0 ? return ">" : return highlight.contentPre
}
为什么不能用三元表达式表示return
?
return
不返回任何内容-我的意思是,函数调用了它。三元运算符的参数必须为表达式。
您应该这样重写函数。这将评估contentPre
变量的计数并返回适当的响应。
private func getContentPre(highlight: Highlight) -> String! {
return highlight.contentPre.count == 0 ? ">" : highlight.contentPre
}
尽管看起来contentPre
将是String
,但您应该使用.isEmpty
,因为它比检查String
的长度更有效。]
private func getContentPre(highlight: Highlight) -> String! {
return highlight.contentPre.isEmpty ? ">" : highlight.contentPre
}