我正在尝试在单个if let行中编写以下代码块:
if let amount = datasource?.incrementForCount?(count) { count += amount } else if let amount = datasource?.fixedIncrement { count += amount }@H_301_3@当我尝试类似的东西:
if let amount = datasource?.incrementForCount?(count) || let amount = datasource?.fixedIncrement { count += amount }@H_301_3@我有一个编译时错误。 @H_301_3@我不认为这种情况可以使用where子句。 @H_301_3@是否可以将两个if if语句组合成一个ORed语句?
试着用?操作符:
if let amount = datasource?.incrementForCount?(count) ?? datasource?.fixedIncrement { count += amount }
@H_301_3@is it possible to combine the 2 if let statements into a single ORed one ?@H_301_3@可以有几个let语句,如
if let a = optionalA,b = optionalB { ... }@H_301_3@并且所有这些都应该返回非零值以通过。 @H_301_3@但是如果你还想使用逻辑条件: @H_301_3@>可能只是一个>在任何let语句之前,应放在第一位