尝试在三元表达式中 return
Try to return in ternary expression
我有一个 Swift 应用程序。
我从 Xcode 编译器
收到错误 Expected expression after '?' in ternary expression
在
private func getContentPre(highlight: Highlight) -> String!
{
highlight.contentPre.count == 0 ? return ">" : return highlight.contentPre
}
Apple 文档说:
为什么不能像使用 if 语句那样在三元表达式中 return
?
return
没有 return 任何东西 - 我的意思是,对于调用它的函数。三元运算符的参数必须是表达式。
你应该像这样重写你的函数。这将评估 contentPre
变量的计数和 return 适当的响应。
private func getContentPre(highlight: Highlight) -> String! {
return highlight.contentPre.count == 0 ? ">" : highlight.contentPre
}
然而,看起来 contentPre
将是 String
,您应该使用 .isEmpty
,因为它比检查 String
[= 的长度更高效17=]
private func getContentPre(highlight: Highlight) -> String! {
return highlight.contentPre.isEmpty ? ">" : highlight.contentPre
}
我有一个 Swift 应用程序。
我从 Xcode 编译器
收到错误Expected expression after '?' in ternary expression
在
private func getContentPre(highlight: Highlight) -> String!
{
highlight.contentPre.count == 0 ? return ">" : return highlight.contentPre
}
Apple 文档说:
为什么不能像使用 if 语句那样在三元表达式中 return
?
return
没有 return 任何东西 - 我的意思是,对于调用它的函数。三元运算符的参数必须是表达式。
你应该像这样重写你的函数。这将评估 contentPre
变量的计数和 return 适当的响应。
private func getContentPre(highlight: Highlight) -> String! {
return highlight.contentPre.count == 0 ? ">" : highlight.contentPre
}
然而,看起来 contentPre
将是 String
,您应该使用 .isEmpty
,因为它比检查 String
[= 的长度更高效17=]
private func getContentPre(highlight: Highlight) -> String! {
return highlight.contentPre.isEmpty ? ">" : highlight.contentPre
}