尝试返回三元表达式

问题描述 投票:0回答:2

我有一个Swift应用程序。

我从Xcode编译器收到错误Expected expression after '?' in ternary expression

in

private func getContentPre(highlight: Highlight) -> String!

    {
        highlight.contentPre.count == 0 ? return ">" : return highlight.contentPre
    }

为什么不能用三元表达式表示return

ios swift ternary
2个回答
0
投票

return不返回任何内容-我的意思是,函数调用了它。三元运算符的参数必须为表达式。


0
投票

您应该这样重写函数。这将评估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
}
© www.soinside.com 2019 - 2024. All rights reserved.