为什么Swift 1.2破坏了UIDynamicAnimator的init(collectionViewLayout :)的继承?

马特

在Swift 1.1及更低版本中,这是合法的:

let layout = UICollectionViewLayout()
class MyDynamicAnimator : UIDynamicAnimator {}
let anim2 = MyDynamicAnimator(collectionViewLayout:layout)

在Swift 1.2中,它拒绝编译。为什么?

我可以通过重写而不init(collectionViewLayout:)做任何事情来解决该问题,只不过要调用super:

class MyDynamicAnimator : UIDynamicAnimator {
    override init(collectionViewLayout:UICollectionViewLayout) {
        super.init(collectionViewLayout:collectionViewLayout)
    }
}

但这似乎有点坚果。如果可以覆盖它,为什么我不能仅仅继承它呢?

注意:我猜这个问题的原因可能是UIDynamicAnimatorinit(collectionViewLayout:)是在扩展中声明的指定的初始化程序,根据Swift的说法,这是非法的。但是,根据可可,这不是非法的,因此,它肯定仍需要继承!对于我来说,这种破坏感觉像是个小虫...作为程序员,我不应该被API头结构中声明初始化程序的技术所困扰。

[编辑:我已就此向Apple提交了错误报告,但未收到任何回复。这种情况对我来说仍然莫名其妙。我也不相信这与无关extension似乎是错误的。]

马特

这是一个错误,如Xcode 7 / iOS 9中已修复的事实所示。

本文收集自互联网,转载请注明来源。

如有侵权,请联系debugcn@gmail.com 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Swift:为什么从NSManagedObject继承会破坏我的属性?

来自分类Dev

为什么<h1>中的<h2>不继承color属性的值?

来自分类Dev

为什么subshell不继承导出的变量(PS1)?

来自分类Dev

为什么Tuple <T1,T2,T3>不继承自Tuple <T1,T2>?

来自分类Dev

为什么重复继承/重复继承无效?

来自分类Dev

为什么原型继承在Javascript中的嵌套级别始终为1?

来自分类Dev

Swift 1.2为什么我不能继承任何NSCell的子类?

来自分类Dev

为什么要继承UIView?

来自分类Dev

将表的每个层次结构继承用于1:2关系

来自分类Dev

无法继承正确的父类,init 需要 1 个位置参数,但给出了 2 个

来自分类Dev

为什么Interceptor在Struts 2中破坏了通配符?

来自分类Dev

为什么Interceptor在Struts 2中破坏了通配符?

来自分类Dev

为什么继承了“对象”的python类在其__init__方法中将其称为“超级”?

来自分类Dev

方法的继承与变量的继承有何不同?为什么?

来自分类Dev

为什么最终类不能被继承而最终方法可以被继承?

来自分类Dev

从抽象基类继承时,为什么__slots__在Python 2和3中的行为不同

来自分类Dev

为什么PrintStream从字节流继承?

来自分类Dev

为什么继承的Docker映像的大小不同

来自分类Dev

为什么htmlCollection不从数组继承

来自分类Dev

为什么不继承std :: allocator

来自分类Dev

为什么私人成员会被继承?

来自分类Dev

为什么代理模式需要继承?

来自分类Dev

为什么以及何时继承Collection <T>

来自分类Dev

为什么要从C ++接口继承

来自分类Dev

为什么virtualenv从我的shell继承$ PYTHONPATH?

来自分类Dev

为什么要实现继承的抽象方法?

来自分类Dev

为什么我不能继承此变量?

来自分类Dev

为什么AppDelegate类从UIResponder继承?

来自分类Dev

为什么继承Tk主窗口?

Related 相关文章

  1. 1

    Swift:为什么从NSManagedObject继承会破坏我的属性?

  2. 2

    为什么<h1>中的<h2>不继承color属性的值?

  3. 3

    为什么subshell不继承导出的变量(PS1)?

  4. 4

    为什么Tuple <T1,T2,T3>不继承自Tuple <T1,T2>?

  5. 5

    为什么重复继承/重复继承无效?

  6. 6

    为什么原型继承在Javascript中的嵌套级别始终为1?

  7. 7

    Swift 1.2为什么我不能继承任何NSCell的子类?

  8. 8

    为什么要继承UIView?

  9. 9

    将表的每个层次结构继承用于1:2关系

  10. 10

    无法继承正确的父类,init 需要 1 个位置参数,但给出了 2 个

  11. 11

    为什么Interceptor在Struts 2中破坏了通配符?

  12. 12

    为什么Interceptor在Struts 2中破坏了通配符?

  13. 13

    为什么继承了“对象”的python类在其__init__方法中将其称为“超级”?

  14. 14

    方法的继承与变量的继承有何不同?为什么?

  15. 15

    为什么最终类不能被继承而最终方法可以被继承?

  16. 16

    从抽象基类继承时,为什么__slots__在Python 2和3中的行为不同

  17. 17

    为什么PrintStream从字节流继承?

  18. 18

    为什么继承的Docker映像的大小不同

  19. 19

    为什么htmlCollection不从数组继承

  20. 20

    为什么不继承std :: allocator

  21. 21

    为什么私人成员会被继承?

  22. 22

    为什么代理模式需要继承?

  23. 23

    为什么以及何时继承Collection <T>

  24. 24

    为什么要从C ++接口继承

  25. 25

    为什么virtualenv从我的shell继承$ PYTHONPATH?

  26. 26

    为什么要实现继承的抽象方法?

  27. 27

    为什么我不能继承此变量?

  28. 28

    为什么AppDelegate类从UIResponder继承?

  29. 29

    为什么继承Tk主窗口?

热门标签

归档