XCode 8,有些方法消失了吗? 例如:layoutAttributesClass() – > AnyClass

我在Xcode 8 + Swift 3项目上遇到了关于collectionView和collectionViewLayout的一些问题。

似乎有些方法完全消失了。

例如,当我将UICollectionViewFlowLayout子类化时:

override func layoutAttributesClass() -> AnyClass 

这会触发xcode错误:

 Method does not override Any Method from his superclass 

此方法的文档: https : //developer.apple.com/library/ios/documentation/UIKit/Reference/UICollectionViewLayout_class/index.html#//apple_ref/occ/clm/UICollectionViewLayout/layoutAttributesClass

不确定它是否与Xcode 8相关,因为我已经在Xcode 7和swift 2.3上的collectionView上遇到了奇怪的问题,例如,在xcode上没有检测到itemSizeAtIndexPath方法,但是如果我将该方法放在collectionViewController中,即使没有关键字覆盖,也会调用它。

在Swift 3中,它是(类) 属性而不是方法:

 override class var layoutAttributesClass: AnyClass { // ... }