xcode – 如果条件失败,表达式太复杂
发布时间:2020-12-15 01:55:30 所属栏目:百科 来源:网络整理
导读:我有一个条件声明,声称“表达太复杂,无法在合理的时间内解决。如果在我的条件中有超过约5个包含语句,则该错误将失败。这似乎不是编译中应该发生的事情,因为语句不是那么复杂。这是其他人遇到的错误吗?除了分解我的条件还有解决办法吗? else if( contai
我有一个条件声明,声称“表达太复杂,无法在合理的时间内解决。如果在我的条件中有超过约5个包含语句,则该错误将失败。这似乎不是编译中应该发生的事情,因为语句不是那么复杂。这是其他人遇到的错误吗?除了分解我的条件还有解决办法吗?
else if( 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") && contains(JSONDict.keys.array,"description") && contains(JSONDict.keys.array,"brand") && contains(JSONDict.keys.array,"product_group") && contains(JSONDict.keys.array,"product_design") && contains(JSONDict.keys.array,"material") && contains(JSONDict.keys.array,"line") && contains(JSONDict.keys.array,"unit_of_mass") && contains(JSONDict.keys.array,"coating") && contains(JSONDict.keys.array,"pcs_converstion") && contains(JSONDict.keys.array,"appRim") && contains(JSONDict.keys.array,"appSegment") && contains(JSONDict.keys.array,"series") && contains(JSONDict.keys.array,"product_application") ){ } 解决方法
是的,这是一个已知的问题 – 另见
this answer。
解决方案是使用多行语句将逻辑表达式存储到变量中: 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 { } } 这种强大的语言有点奇怪,但这是一个(希望是暂时的)权衡。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |