If condition failing with expression too complex If condition failing with expression too complex xcode xcode

If condition failing with expression too complex


Yes that's a known issue - see also this answer.

The solution is to store the logical expression into a variable, using a multiline statement:

else {    var logicalExpression = contains(JSONDict.keys.array, "id") &&            contains(JSONDict.keys.array, "part_number") &&            contains(JSONDict.keys.array, "sales_part_number") &&            contains(JSONDict.keys.array, "include_in_search")    logicalExpression = logicalExpression && contains(JSONDict.keys.array, "description") &&            contains(JSONDict.keys.array, "brand") &&            contains(JSONDict.keys.array, "product_group") &&            contains(JSONDict.keys.array, "product_design")    // ... etc.    if logicalExpression {    }}

A little weird for such a powerful language... but it's a (hopefully temporary) trade off.