【发布时间】:2019-01-14 05:27:10
【问题描述】:
我的理解是,在由逗号函数分隔的保护语句中有两个条件要求它们都为真。我可以用其中一个独立编写一个保护语句并且代码编译但是当我将它们与逗号组合时,它会给出一个错误。我的语法有什么问题吗,或者任何人都可以解释为什么它无法编译?
guard (mode != "mapme") else { //compiles
}
guard (!annotation is MKUserLocation) else { //compiles
}
guard (mode != "mapme",!(annotation is MKUserLocation)) else { //gives error:'(Bool, Bool)' is not convertible to 'Bool'
}
【问题讨论】:
-
检查括号!
-
去掉外层()。一般来说,Swift 中的布尔子句不需要括号
-
逗号分隔表达式。不能在用逗号分隔的 2 个表达式周围加上括号。
标签: swift mkannotation guard