You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在NSExpression中使用条件语句(如三元运算符)?

解决NSExpression中实现三元逻辑的问题

NSExpression并不支持传统的?:三元运算符语法,不过你可以使用它内置的IF()函数来实现等价的条件判断逻辑,仅修改format字符串即可。

基础示例

将报错的写法替换为IF()函数形式:

NSExpression(format: "IF(1 + 1 == 2, 'YES', 'NO')").expressionValue(with: nil, context: nil)

这段代码会正确返回字符串"YES",和你预期的三元运算符逻辑完全一致。

复杂逻辑扩展

如果需要处理多层嵌套的条件判断,可嵌套使用IF()函数:

NSExpression(format: "IF(score > 90, '优秀', IF(score > 60, '及格', '不及格'))").expressionValue(with: ["score": 85], context: nil)

内容的提问来源于stack exchange,提问作者Senseful

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 00:27:07