【发布时间】:2014-10-20 11:31:32
【问题描述】:
问题背景:我有一个类是 NSArray 的子类,不是直接的,而是它。
结构或多或少类似于MyClass -> Class1 -> Class2 -> NSArray。
除了MyClass 之外的所有内容都在Objective-C 中,MyClass 在Swift 中。在我升级到 Yosemite 和 Xcode 6.1 之前它运行良好。
现在,在编译过程中会抛出错误
'required' initializer 'init(arrayLiteral:)' must be provided by subclass of 'NSArray'
这很奇怪,因为还有其他类,MyClass 的兄弟姐妹没有编译器抱怨它们。
当我添加初始化程序时,
required convenience init(arrayLiteral elements: AnyObject...) {
fatalError("not implemented")
}
XCode 抛出另一个错误,提示 Declarations from extensions cannot be overridden yet。
有人知道我能做什么吗?代码完全零更改。
【问题讨论】:
-
您尝试子类化 NSArray 是否有特殊原因?除非您正在做一些非常复杂的事情,否则似乎不需要它。
-
当我加入项目时它就在那里,并且在项目中的几个地方使用了“MyClass”。它是项目架构的一部分。
标签: ios objective-c xcode swift compilation