从“[UICollectionViewLayoutAttributes] 向下看?”到 '[UICollectionViewLayoutAttributes]' 只解包可选
Downcast from '[UICollectionViewLayoutAttributes]?' to '[UICollectionViewLayoutAttributes]' only unwraps optionals
我正在尝试构建一个带分页的集合视图(将单元格显示为预览)并找到了 this 教程。我从 Xcode 收到错误,我猜这一定是由于对 Xcode 的更新所致(因为该教程似乎对很多人都有效)。希望得到有关如何解决此问题的提示:
Downcast from '[UICollectionViewLayoutAttributes]?' to
'[UICollectionViewLayoutAttributes]' only unwraps optionals; did you
mean to use '!'?
您可能做了这样的事情(someOptionalAttributes
属于 [UICollectionViewLayoutAttributes]?
类型):
someOptionalAttributes as! [UICollectionViewLayoutAttributes]
但是,因为someOptionalAttributes
只是[UICollectionViewLayoutAttributes]
的可选版本,所以不需要强制向下转型,只需要解包即可:
someOptionalAttributes!
只有在转换为全新类型(通常是子类)时才需要强制向下转换。
所以,是的,您的意思是按照错误中的说明使用 !
。如果您想安全起见,可以使用多种不同的可选解包技术。
我正在尝试构建一个带分页的集合视图(将单元格显示为预览)并找到了 this 教程。我从 Xcode 收到错误,我猜这一定是由于对 Xcode 的更新所致(因为该教程似乎对很多人都有效)。希望得到有关如何解决此问题的提示:
Downcast from '[UICollectionViewLayoutAttributes]?' to '[UICollectionViewLayoutAttributes]' only unwraps optionals; did you mean to use '!'?
您可能做了这样的事情(someOptionalAttributes
属于 [UICollectionViewLayoutAttributes]?
类型):
someOptionalAttributes as! [UICollectionViewLayoutAttributes]
但是,因为someOptionalAttributes
只是[UICollectionViewLayoutAttributes]
的可选版本,所以不需要强制向下转型,只需要解包即可:
someOptionalAttributes!
只有在转换为全新类型(通常是子类)时才需要强制向下转换。
所以,是的,您的意思是按照错误中的说明使用 !
。如果您想安全起见,可以使用多种不同的可选解包技术。