我有下面的代码

var currentDocumentPart: DocumentPart
var documentPartArray: [DocumentPart]
let currentDocumentPartIndex = documentPartArray.indexOf(currentDocumentPart)
let previousDocumentPart = documentPartArray[currentDocumentPartIndex! - 1]


我想实现if let语句来检查previousDocumentPart是否为空,但是由于previousDocumentPart的类型不是可选的,所以它不让我执行。我应该如何改变?还是有其他方法可以检查是否为零?

而且由于我在代码中的实现,似乎很难将currentDocumentPartdocumentPartArray的类型更改为可选。

最佳答案

previousDocumentPart的类型是从为其分配的值(在这种情况下为DocumentPart)推断出来的(不是可选的,因此不允许使用nil值)。

如果您希望能够检查nil值,请将documentPartArray的定义更改为:

var documentPartArray: [DocumentPart?]

08-05 23:47