可选类型“$T11”不能用作布尔值;自安装 XCode 6 beta 7 以来测试 '!= nil'

2023-11-21

这是我收到错误的代码:

for (key, value) in info {
    let fieldValue: AnyObject? = value

    if (!fieldValue || fieldValue?.length == 0) { // this line gives the error
        informationComplete = false;
    } 
}

这是 XCode 建议我使用的内容,这会导致另一个错误:

for (key, value) in info {
    let fieldValue: AnyObject? = value

    if ((!fieldValue || fieldValue?.length == 0) != nil) { //bool not convertible to string
        informationComplete = false;
    }
 }

感谢帮助。

谢谢你的时间


选项不再被视为布尔表达式(如 Swift 参考中所述 -修订记录):

当可选值有值时,不再隐式评估为 true,而没有值时则隐式评估为 false,以避免在使用可选 Bool 值时出现混淆。相反,使用 == 或 != 运算符对 nil 进行显式检查,以查明可选值是否包含值。

所以你必须明确如下:

if (fieldValue == nil || ...

我记得 beta 6 中发生了变化 - 你使用 beta 5 吗?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

可选类型“$T11”不能用作布尔值;自安装 XCode 6 beta 7 以来测试 '!= nil' 的相关文章

随机推荐

  • SignalR 使用 Azure EventHub 进行扩展

    我正在寻找 SignalR 的高频缩放解决方案 我想知道是否可以使用 Azure EventHub 来做到这一点 如果我使用 EventHub 作为 SignalR 消息的底板 它会成为我的瓶颈吗 我查过this页面 但没有关于 Event
  • Laravel - 自定义 .env 文件

    Laravel 假设 env文件应该描述环境 并且不应将其提交到您的存储库 如果我想保留两者怎么办 env文件为dev and production say env production and env dev 在我的存储库中并添加一些应使
  • 在 Javascript 中增加和减少变量,直到达到某个数字

    如何增加和减少 Javascript 中的变量直到 100 当达到 100 时它应该开始减少 So accuracyBarValue应从 0 开始 增加到 100 达到 100 时应变为 0 然后重复该过程 间隔为 10 我在一个非常简单的
  • awk NF filename 是如何工作的?

    我有以下文件 cat testing txt line1 1 line2 2 2 line3 3 3 line4 我可以理解如何awk NF gt 0 testing txt在职的 此命令仅处理每条记录中超过 1 个字段的字段数 因此空行和
  • 提取嵌套括号内的字符串

    我需要从嵌套括号中提取字符串 如下所示 this is hello who what from the other side slim shady Result 顺序无关紧要 This is slim shady Hello from th
  • 尝试在 ubuntu 中使用 RODBC 连接到 ODBC 服务器

    我收到错误 RODBC ERROR state 01000 code 0 message unixODBC Driver Manager Can t open lib SQL Server file not found 2 In odbcD
  • 如何将路由延迟加载为子路由/组件

    让我们看看我的笨蛋 https plnkr co edit 22RIoGsvzfw2y2ZTnazg p preview 我想延迟加载模块作为子路由 所以路线 lazy应该呈现LazyModule进入
  • 静态盐与随机盐 - PHP 安全

    两者之间有工作区别吗 hash sha1 key staticSalt and hash sha1 key randomSalt 如果我使用随机盐 我需要将随机盐存储在数据库中 另一方面 如果我使用固定盐 则无需使用数据库 如果代码可以被黑
  • macOS Sierra、Xcode 8 上神秘的“加密验证失败”错误

    我刚刚更新并立即收到此错误 错误 发生密码验证失败 有任何想法吗 编辑 我有 iOS 10 简单的解决方案 我的表现如何 为我工作 第 1 步 转到此文件夹 从查找器中按选项 转到 gt 转到文件夹 然后输入您的项目路径 如下例所示 Lib
  • 如何在 python 3.6 中安装集合 [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 目前不接受答案 我正在尝试安装一个集合库 一个模块 counter 和 defaultdict 我安装了 python 3 6 和 Win 7 64x 安装 pip install coll
  • 使用本地 Javascript 访问本地文件[重复]

    这个问题在这里已经有答案了 根据本网站上的其他答案 我已经觉得我知道这个问题的答案 但是 由于它略有不同 我想问 是否可以从计算机上本地运行的 JavaScript 访问本地文件 又名 我的网站地址为 file C 或者 这也是沙盒的吗 我
  • 使用 System.IdentityModel.Tokens.Jwt 解码和验证 JWT 令牌

    我一直在使用JWT库来解码 Json Web 令牌 并希望切换到 Microsoft 的官方 JWT 实现 System IdentityModel Tokens Jwt 文档非常稀疏 因此我很难弄清楚如何完成我使用 JWT 库所做的事情
  • 在 Java 中将 UTC 时间转换为本地时区

    我知道这个主题已经被打死了 但在搜索了几个小时后我不得不问这个问题 我的问题 根据客户端应用程序 iPhone 的当前时区对服务器上的日期进行计算 客户端应用程序以秒为单位告诉服务器其时区距 GMT 有多远 然后我想使用这些信息来计算服务器
  • 具有两个不相等(唯一)类型的泛型类

    是否可以实现一个仅限于两个唯一通用参数的类 如果不是 是因为它未实现还是因为给定的语言结构 继承 是不可能的 我想要以下形式的东西 class BidirectionalMap
  • GIT 不会从远程提取最新更改

    不知何故 我的本地分支比远程分支晚了 8 个月 当我做git pull origin my branch name 它说Already up to date I tried git fetch origin my branch name t
  • 在哪里可以获得 UNIX 系统调用列表?

    UNIX 上的系统调用列表在哪里 这不是我最初的问题 但无论如何还是谢谢 man 2 syscalls 除此之外 您可以查看 usr include sys syscall h 在我的系统上仅 includes usr include bi
  • Spring Security - 白名单IP范围

    我查看过的许多资源和 stackoverflow 问题都提供了使用的答案 xml files 使用 Spring Security 的 IP 过滤器 http websystique com spring security spring s
  • 检查某个项目是否在嵌套列表中

    在一个简单的列表中 以下检查是微不足道的 x 1 2 3 2 in x gt True 但如果是列表的列表 例如 x 1 2 3 2 3 4 2 in x gt False 如何解决这个问题才能返回True 尝试一下 使用内置的any功能
  • Android 自定义带开关的弹出菜单

    如何自定义弹出菜单中的菜单项 我需要第一个菜单项的开关 这是我到目前为止得到的 menu xml menu menu
  • 可选类型“$T11”不能用作布尔值;自安装 XCode 6 beta 7 以来测试 '!= nil'

    这是我收到错误的代码 for key value in info let fieldValue AnyObject value if fieldValue fieldValue length 0 this line gives the er