gpt4 book ai didi

arrays - Array 的 count 属性是可选的吗?

转载 作者:搜寻专家 更新时间:2023-11-01 07:18:26 30 4
gpt4 key购买 nike

我创建了一个类型别名:

typealias areasOfStudyType = Array<Dictionary<String, String>>

然后创建了一个可选变量:

var areasOfStudy : areasOfStudyType? = nil

我需要使用数组元素的数量将它们放入 TableView 中,所以我输入:

areasOfAStudy?.count

我知道如果 areasOfStudynil 这行代码不会尝试获取 count 的值,因为我使用的是可选链接。但是当它不是 nil 时,它将返回一个 Int

但是,编译器提示我没有打开一个可选的并建议我输入:

(areasOfAStudy?.count)!

为什么 areasOfAStudy?.count 是可选的?当我查看 Array 的引用文档时,我读到:

count
The number of elements the Array stores.

Declaration
var count: Int { get }

最佳答案

计数不是可选的,但数组是。因此 areasOfAStudy?.count 是可选的,因为当 areasOfAStudy 为 nil 时,永远不会调用 count,因此它的计算结果为 nil。

var areasOfAStudy: [String]? = nil
//This evaluates to nil because areasOfAStudy is nil. The type of a is Int?
var a = areasOfAStudy?.count
print(type(of:a))

关于arrays - Array 的 count 属性是可选的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40517145/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com