我有下面的代码
var currentDocumentPart: DocumentPart
var documentPartArray: [DocumentPart]
let currentDocumentPartIndex = documentPartArray.indexOf(currentDocumentPart)
let previousDocumentPart = documentPartArray[currentDocumentPartIndex! - 1]
我想实现if let语句来检查
previousDocumentPart
是否为空,但是由于previousDocumentPart
的类型不是可选的,所以它不让我执行。我应该如何改变?还是有其他方法可以检查是否为零?而且由于我在代码中的实现,似乎很难将
currentDocumentPart
和documentPartArray
的类型更改为可选。 最佳答案
previousDocumentPart
的类型是从为其分配的值(在这种情况下为DocumentPart
)推断出来的(不是可选的,因此不允许使用nil
值)。
如果您希望能够检查nil值,请将documentPartArray
的定义更改为:
var documentPartArray: [DocumentPart?]