当前位置: 首页 > 知识库问答 >
问题:

可选类型'Bool'不能用作布尔值;改为测试'!=nil'

师增
2023-03-14
 override func prepareForSegue(segue: UIStoryboardSegue?, sender: AnyObject?) {
          if (segue && segue!.identifier == "showDetail"){  //this line has error
            var selectedIndexPath : NSIndexPath = self.tableView.indexPathForSelectedRow()
            var detailViewController : DetailViewController = segue!.destinationViewController as DetailViewController
            detailViewController.toDoData = toDoItems.objectAtIndex(selectedIndexPath.row) as NSDictionary
        }

我是个新手,这可能是个很简单的错误,但我需要一个很好的解释。我有一个Xcode错误

可选类型'Bool'不能用作布尔值;改为测试'!=nil'

对于第二行<代码> segue

我正在观看YouTube视频,以遵循待办事项列表的步骤。

共有2个答案

壤驷涛
2023-03-14

请仔细阅读邮件。

您有一个可选值,并且将其用作 Bool 值。该消息告诉您无法执行此操作。拿一本关于 Swift 的书,读一读如何检查 optional 是否为 nil(提示:许多在 C 或 C 中不好的做法在 Swift 中都是非法的)。

郭云
2023-03-14
override func prepareForSegue(segue: UIStoryboardSegue?, sender: AnyObject?) {
      if (segue != nil && segue!.identifier == "showDetail"){  //this line has error
        var selectedIndexPath : NSIndexPath = self.tableView.indexPathForSelectedRow()
        var detailViewController : DetailViewController = segue!.destinationViewController as DetailViewController
        detailViewController.toDoData = toDoItems.objectAtIndex(selectedIndexPath.row) as NSDictionary
    }
 类似资料:
  • 可选类型“Bool”不能用作布尔值;改为测试“!=nil” 我在第一个if中得到了一个错误,通过替换if条件(之后的

  • Python 提供了 bool 类型来表示真(对)或假(错),比如常见的 比较算式,这个是正确的,在程序世界里称之为真(对),Python 使用 True 来代表;再比如 比较算式,这个是错误的,在程序世界里称之为假(错),Python 使用 False 来代表。 True 和 False 是 Python 中的关键字,当作为 Python 代码输入时,一定要注意字母的大小写,否则解释器会报错。

  • 在C语言中,关系运算和逻辑运算的结果有两种,真和假:0 表示假,非 0 表示真。例如: 运行结果: 10 20↙ flag = 0 C语言并没有彻底从语法上支持“真”和“假”,只是用 0 和非 0 来代表。这点在 C++ 中得到了改善,C++ 新增了 bool 类型(布尔类型),它一般占用 1 个字节长度。bool 类型只有两个取值,true 和 false:true 表示“真”,false 表示

  • 2.4 布尔类型 bool 布尔是 19 世纪英国数学家,他建立了命题代数,简单说就是将逻辑推理变成了代数计 算。所谓命题就是可以判断真假的语句,因此在编程语言中,将真、假两个值构成了一个类 型,即布尔类型,真和假也称为布尔值。以真或假为值的表达式称为布尔表达式,它在程序 设计中的作用是描述某种条件,以支持“如果某条件满足,则执行某语句”之类的处理过程。 第 3 章将学习的条件和循环语句中都会用到

  • 一个布尔类型的值只有两种:true 或 false。if 和 for 语句的条件部分都是布尔类型的值,并且 和 等比较操作也会产生布尔型的值。 一元操作符 对应逻辑非操作,因此 的值为 false,更复杂一些的写法是 ,实际开发中我们应尽量采用比较简洁的布尔表达式,就像用 x 来表示 。 Go语言对于值之间的比较有非常严格的限制,只有两个相同类型的值才可以进行比较,如果值的类型是接口(interf

  • 本文主要介绍了Go语言中处理布尔类型数据的数据类型。布尔类型的数据表示逻辑运算结果,有以 下两种取值: 真,使用 True 关键字表示。 假,使用 False 关键字表示。 1.布尔类型 序号 类型 说明 1 bool 只能存放true或者false 2.使用示例 package main import "fmt" func main() { var varb bool var