【发布时间】:2017-01-14 10:09:23
【问题描述】:
我正在使用来自 https://github.com/brightec/CustomCollectionViewLayout 的 CustomCollectionViewLayout。
在从 Swift2 转换到 Swift3 之后,出现了两个关于 Any 的错误。
错误1:
override func layoutAttributesForItem(at indexPath: IndexPath) -> UICollectionViewLayoutAttributes? {
return self.itemAttributes[indexPath.section][indexPath.row] as! UICollectionViewLayoutAttributes
}
消息错误:
CustomCollectionViewLayout.swift:115:54: 类型 'Any' 没有下标成员
错误 2:
override func layoutAttributesForElements(in rect: CGRect) -> [UICollectionViewLayoutAttributes]? {
var attributes = [UICollectionViewLayoutAttributes]()
if self.itemAttributes != nil {
for section in self.itemAttributes {
let filteredArray = (section as AnyObject).filtered(
using: NSPredicate(block: { (evaluatedObject, bindings) -> Bool in
return rect.intersects(evaluatedObject.frame)
})
) as! [UICollectionViewLayoutAttributes]
attributes.append(contentsOf: filteredArray)
}
}
return attributes
}
消息错误:
“任何?”类型的值没有成员“框架”
任何想法如何解决 Any/AnyObject 的问题?
【问题讨论】:
-
我也面临同样的问题