【发布时间】:2020-04-27 15:36:44
【问题描述】:
我正在尝试检查 10 个字符串是否为空以运行我的脚本。我怎样才能合理地分解它以保持在一个功能内?我的剧本依赖于所有这些都是真实的,而且它很长,所以我不能单独审问每一个。它适用于 6 个或更少的名称。但是从名称 7 到 10,我在构建我的应用程序时遇到错误。
if (name[1] != "") && (name2[1] != "") && (name3[1] != "") && (name4[1] != "") && (name5[1] != "") && (name6[1] != "") && (name7[1] != "") && (name8[1] != "") && (name9[1] != "") && (name10[1] != "")
我收到此错误:
编译器无法合理地对该表达式进行类型检查 时间;尝试将表达式分解为不同的子表达式
【问题讨论】:
-
是
name、name1、name2等等,数组吗?并且您正在检查主题的第二个元素是否为空。对吗? -
是的,所以 name 将返回 [“AAAA”、“Proper Name”、“Ident2”]。或者如果输入了错误的代码,则数组返回 [“”, “”, “”]。我应该先提取表单数组吗?让 nameCheck = name[1] 然后使用 if nameCheck != “” ?
-
你的 db 函数不正确,
airportName只会包含第二个查询的最后一行。其他一些想法,只有一个带有 OR 条件的查询而不是两个查询不是更好吗?而且这种空名称检查不也是 db 查询的一部分吗? -
它从 2 个不同的入口点检查该行。它有效
-
如果它有效,它会以非常低效的方式这样做。
标签: swift compiler-errors predicate