XCode 8,一些方法不见了?例如:layoutAttributesClass()-> AnyClass

Lor*_*Huz 3 xcode ios swift

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

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

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

override func layoutAttributesClass() -> AnyClass
Run Code Online (Sandbox Code Playgroud)

这会触发xcode错误:

Method does not override Any Method from his superclass
Run Code Online (Sandbox Code Playgroud)

该方法的文档: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中,即使没有关键字重写也可以调用它。

Mar*_*n R 5

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

override class var layoutAttributesClass: AnyClass {
    // ...
}
Run Code Online (Sandbox Code Playgroud)