【问题标题】:XCode 8, some methods disappeared ? ex: layoutAttributesClass() -> AnyClassXCode 8,一些方法消失了?例如:layoutAttributesClass() -> AnyClass
【发布时间】:2016-09-12 09:58:12
【问题描述】:

我在 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 中,即使没有关键字覆盖也会调用它.

【问题讨论】:

    标签: ios swift xcode


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-03
      • 2015-05-31
      • 1970-01-01
      • 2014-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多